Gestern habe ich mit PHP ein kleines Programm zur Verarbeitung von CSV-Dateien geschrieben. Es wurde sowohl auf dem lokalen als auch auf dem 21-Server normal verarbeitet.
Aber nachdem ich es installiert habe Beim 238-Server stellte ich nachts fest, dass das Programm nicht ordnungsgemäß verarbeitet wurde und einige Daten fehlten.
Nach der Behandlung der Ausnahme wurde festgestellt, dass die fehlenden Daten alle auf Chinesisch waren.
Zuerst dachte ich, es handele sich um ein Problem mit der Datei- oder String-Kodierung
Das Problem besteht immer noch, nachdem Notepad++ zum Konvertieren der CSV-Datei in UTF verwendet wurde -8
Dann
<span style="font-size:14px;">$date = mb_detect_encoding($content , array('UTF-8','GBK','LATIN1','BIG5')) ; $content = iconv($date, "utf-8", $content);</span>
Dann Baidu Suchen Sie
und fügen Sie eine Codezeile hinzu, bevor Sie die CSV-Datei verarbeiten: setlocale(LC_ALL,NULL)
setlocale ( ) Funktion legt regionale Informationen fest (regionale Informationen).
Regionale Informationen sind Sprache, Währung, Zeit und andere Informationen für ein geografisches Gebiet.
Diese Funktion gibt die aktuellen Gebietsschemaeinstellungen zurück oder false, wenn sie fehlschlägt.
Hinweis: Die Funktion setlocale() ändert nur die Gebietsschemainformationen für das aktuelle Skript.
Tipp: Sie können die Regionsinformationen über setlocale(LC_ALL,NULL) als Systemstandard festlegen.
Notieren Sie es hier, um solche Probleme in Zukunft zu vermeiden
Das Obige stellt den Umgang von PHP mit CSV-Chinese-Ausnahmen vor, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.