Dateien im UTF-8-Format kodieren
Diese Frage befasst sich mit der Herausforderung, Dateien mit Nicht-UTF-8-Kodierung in UTF-8 zu konvertieren Format während der Website-Migration. Das bereitgestellte Skript ruft Dateidaten ab, kann sie jedoch nicht in der gewünschten UTF-8-Kodierung speichern.
Um dieses Problem zu beheben, fügen Sie die BOM (Byte Order Mark) für UTF-8 hinzu. Dieses eindeutige Zeichen teilt dem System mit, dass die Datei in UTF-8 codiert ist. Fügen Sie vor dem Speichern der Datei die folgende Zeile ein:
file_put_contents($myFile, "\xEF\xBB\xBF". $content);
Hier ist der Code mit dem Zusatz:
header('Content-type: text/html; charset=utf-8'); mb_internal_encoding('UTF-8'); $fpath = "folder"; $d = dir($fpath); while (False !== ($a = $d->read())) { if ($a != '.' and $a != '..') { $npath = $fpath . '/' . $a; $data = file_get_contents($npath); file_put_contents('tempfolder/' . $a, "\xEF\xBB\xBF".$data); // Append BOM for UTF-8 } }
Diese Änderung stellt sicher, dass die $data in UTF-8 kodiert sind und die Dateien werden im richtigen Format gespeichert.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateien während der Website-Migration in UTF-8 konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!