Der Martin: Eintrag in mysql Datenbank behandeln

Beitrag lesen

Hallo Rolf,

Leider habe ich darauf keinen Einfluss. Die Daten kommen von extern.

Einfluss hast Du nur darauf, wie Du die Daten aus der CSV Datei einliest. Zerlegst Du den String "von Hand"? Oder nutzt Du fgetcsv bzw. str_getcsv? Die nehmen Dir das ab und sind standardisiert.

gut und schön, aber CSV wird so vielfältig interpretiert, dass man mit einer "streng nach Standard" gemachten Routine oft nicht glücklich wird:

  • Stehen Strings konsequent in Anführungszeichen? Sollten sie eigentlich, ist aber nicht immer der Fall.
  • Welches Zeichen wird als Feld-Delimiter verwendet? Die Bezeichnung CSV stand ursprünglich mal für "Comma Separated Values", aber heute wird auch gern ein Semikolon, ein Doppelpunkt oder ein Tabulator genommen.
  • Werden Delimiter innerhalb der Felder konsequent maskiert? Also vor allem Anführungszeichen innerhalb von Strings?
  • Wie werden Steuerzeichen dargestellt (z.B. Zeilenumbrüche)? Stehen sie verbatim im CSV-Code, werden sie als C-Escape-Sequenzen notiert?

Man kommt dabei immer zum gleichen Fazit: Wenn man sich auf einen bestimmten CSV-Dialekt einstellt, oder beispielsweise fgetcsv() unfallfrei mit den Quelldaten arbeiten kann, ist das schön. Ein universelles Austauschformat ist das aber nicht.

Einen schönen Tag noch
 Martin

--
Was ist der schnellste Weg von einem Suchtreffer zum nächsten?
Ein Googlehupf.