Heim > Artikel > Backend-Entwicklung > Welche Methoden gibt es für PHP, um in TXT geschriebene verstümmelte Zeichen zu lösen?
Es gibt drei Möglichkeiten für PHP, verstümmelte Zeichen beim Schreiben von txt zu lösen: 1. Legen Sie die Dateikodierung fest. Bevor Sie die Datei schreiben, können Sie die Dateikodierung auf UTF-8 einstellen, indem Sie „mb_internal_encoding()“ und „mb_http_output(“ aufrufen. )“-Funktionen; 2. Geben Sie die BOM-Byte-Reihenfolgemarkierung aus, um zu identifizieren, welche Unicode-Kodierungsmethode die Datei verwendet, um verstümmelte Zeichen zu verhindern; 3. Verwenden Sie die Funktion fwrite() mit Optionen, um sicherzustellen, dass die in die Datei geschriebene Datenlänge mit übereinstimmt die angegebene Länge, um verstümmelte Zeichen zu verhindern.
Das Betriebssystem dieses Tutorials: Windows 10-System, PHP8.1.3-Version, Dell G3-Computer.
Lösung für verstümmelten Text, der von PHP geschrieben wurde:
1. Stellen Sie die Dateikodierung ein.
Bevor Sie die Datei schreiben, können Sie die Dateikodierung auf UTF-8 einstellen, indem Sie die Funktionen mb_internal_encoding() und mb_http_output() aufrufen.
<?php // 设置内部字符编码为UTF-8 mb_internal_encoding('UTF-8'); // 设置 HTTP 输出字符编码为UTF-8 mb_http_output('UTF-8'); $file = 'data.txt'; $content = '你好世界!'; $handle = fopen($file, 'w'); fwrite($handle, $content); fclose($handle); ?>
2. Output BOM Byte Order Mark
BOM (Byte Order Mark) ist eine spezielle Bytesequenz, die normalerweise am Anfang einer Unicode-Textdatei erscheint und verwendet wird, um zu identifizieren, welche Unicode-Kodierungsmethode die Datei verwendet. Big-Endian oder Little-Endian). Wenn im Dateikopf keine Stücklistenmarkierung vorhanden ist, ist der Text möglicherweise verstümmelt.
Sie können den folgenden Code verwenden, um die Stücklistenmarkierung in der Datei auszugeben:
<?php $file = 'data.txt'; $content = "\xEF\xBB\xBF" . '你好世界!'; // 在内容前添加BOM标记 $handle = fopen($file, 'w'); fwrite($handle, $content); fclose($handle); ?>
3. Verwenden Sie die Funktion fwrite() mit Optionen
Die Funktion fwrite() kann einen optionalen dritten Parameter akzeptieren, der den Inhalt angibt geschrieben werden Die Länge der Zeichenfolge. Wenn die Länge der in die Datei geschriebenen Daten nicht mit der angegebenen Länge übereinstimmt, werden verstümmelte Zeichen angezeigt. Daher können Sie mit dieser Option sicherstellen, dass die in die Datei geschriebenen Daten dieselbe Länge haben wie die angegebene Länge.
<?php $file = 'data.txt'; $content = '你好世界!'; $handle = fopen($file, 'w'); $length = strlen($content); fwrite($handle, $content, $length); fclose($handle); ?>
Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es für PHP, um in TXT geschriebene verstümmelte Zeichen zu lösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!