SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.06.2016, 13:17:57
McBurner2016 McBurner2016 ist offline
Anfänger
 
Registriert seit: Jun 2016
Alter: 46
Beiträge: 2
CSV Import führt zu falscher Codedarstellung

Hi Community.

Nach zwei Tagen selbst probieren, abgucken, googlen usw. bin ich beinahe schon verzweifelt. Ich bin mir fast sicher, dass ich den Wald vor lauter Bäumen nicht sehe.

Folgendes Problem: ich lasse via PHP mit "fgetcsv" eine CSV Datei einlesen. In der CSV Datei sind die einzelnen Werte durch ein Komma getrennt, mit einer WHILE Schleife lasse ich diese in eine MySQL Datenbank schreiben. Das klappt auch sehr gut. Die Datenbank - mit phpmyadmin betrachtet - enthält alle Werte. Das Phänomen kommt aber, wenn ich mit den Daten arbeiten will - also via Ausgabe im Browser oder mit phpmyadmin.

Phänomen 1: ich sehe mit phpmyadmin in den richtigen Spalten die richtigen Werte, zB ein Datum. Kopiere ich diese Datum aus der Spalte und benutze die Suchfunktion mit phpmyadmin - wird mir das mit "0 Datensätze gefunden" quittiert. Obwohl er da ist. Mein Verdacht: irgendein Codierungsproblem. Im Browser sehe ich zwar das Datum korrekt, aber eigentlich steht in der Zelle was anderes.
Phänomen 2: ist quasi eine Bestätigung für meine Theorie. Denn wenn ich zB einen Link generieren lasse mit einem Wert aus der MySQL Tabelle - nehmen wir wieder das Datum - dann lautet der Link nachher statt "...index.php?date=2016/03/23" plötzlich "...index.php?date=%uFFFD2%uFFFD0%uFFFD1%uFFFD6%uFFFD/%uFFFD0%uFFFD3%uFFFD/%uFFFD2%uFFFD3"

Ich nehme sehr stark an, das beim Import der Daten irgendein Codierung/Kollationsfehelr auftritt, und blöderweise mir der Browser die Zeichen später trotzdem korrekt anzeigt. Aber wo setze ich an, um das zu beheben? Schon beim Import - String filtern? Hab alles mögliche probiert - bisher ohne Erfolg.

Danke für Tips.
Mit Zitat antworten
  #2  
Alt 02.06.2016, 15:03:44
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: CSV Import führt zu falscher Codedarstellung

Hallo und willkommen hier im Forum.

Kontrolliere alle Zeichensatz/Kollation-Einstellungen (Datenbank, Datenbanktabelle, csv-Datei, Import-Script, phpMyAdmin, etc.)
Sie müssen alle gleich sein, um solches Aussehehn wie beschrieben zu vermeiden. Am besten eignet sich UTF-8.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 02.06.2016, 16:10:11
McBurner2016 McBurner2016 ist offline
Anfänger
 
Registriert seit: Jun 2016
Alter: 46
Beiträge: 2
AW: CSV Import führt zu falscher Codedarstellung

Hi.

Danke für die Hilfe. Mit dem Hinweis auf UTF8 hatte ich erst noch versucht, alle Scripte, die DB und Tabelle - eben das gesamte Paket auf UTF8 umzustellen. Hat auch nicht geholfen. Denoch lasse ich jetzt alles auf UTF8.

Was jetzt aber geholfen hat, ist folgender Code:

$datum = preg_replace('/[^\x{0009}\x{000a}\x{000d}\x{0020}-\x{D7FF}\x{E000}-\x{FFFD}]+/u', '', $row[1]);

Ich wende den Schnipsel schon beim Datenimport an. Bevor das Datum in die MySQL Tabelle geschrieben wird, gehe ich mit preg_replace durch und ersetze alle entsprechenden Zeichenfolgen durch - NICHTS.
Scheint soweit zu klappen. Wie man sich denken kann ist "row[1]" in meinem Fall das Datum als Teil des eingelesenen Arrays aus der CSV.
Mit Zitat antworten
Antwort

Stichworte
csv, fgetcsv, import, mysql, php


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Webservice mit NuSOAP: Request Probleme rencarl PHP Grundlagen 7 07.09.2009 20:23:41
pdf import pantau PHP für Fortgeschrittene und Experten 0 17.02.2003 17:03:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:54:56 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt