ich diesen Code in PHP haben, die eine CSV-Datei geöffnet wird, liest die erste Zeile in einem Array und zeigt den Inhalt:fopen zeigt ungültige Zeichen zu Beginn des CSV
if (($tmp = fopen($file, "r")) !== FALSE) {
$firstLine = fgetcsv($tmp, 0, ",");
print_r($firstLine);
}
Das Problem ist, dass die gedruckte Array Zeigt Array ([0] => increment_id...
Wo sollte es sein Array ([0] => increment_id...
. Ich weiß nicht, wo diese ersten Zeichen herkommen, da sie nicht vorhanden sind, wenn ich die csv-Datei mit Notepad ++ öffne. Ich denke, ich könnte die Datei in eine andere Kodierung konvertieren, aber das wäre schwierig, da es die Ausgabe eines Programms ist, das ich nicht gemacht habe, außer es gibt eine Möglichkeit, es mit PHP neu zu kodieren.
Die Datei hat am Anfang eine [Byte-Reihenfolgezeichen] (https://en.wikipedia.org/wiki/Byte_order_mark). –
Es ist die [BOM] (https://en.wikipedia.org/wiki/Byte_order_mark) (Byte-Order-Mark) codiert als [UTF-8] (https://en.wikipedia.org/wiki/Byte_order_mark # UTF-8). Es ist in der Datei vorhanden, aber die Texteditoren zeigen es nicht an (technisch gesehen ist es ein nicht druckbares Zeichen), sondern verwenden es, um etwas über die Codierung der Zeichen in der Datei zu erfahren. – axiac