Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Methoden gibt es für PHP, um in TXT geschriebene verstümmelte Zeichen zu lösen?

Welche Methoden gibt es für PHP, um in TXT geschriebene verstümmelte Zeichen zu lösen?

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌Original
2023-06-06 13:41:231368Durchsuche

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.

Welche Methoden gibt es für PHP, um in TXT geschriebene verstümmelte Zeichen zu lösen?

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(&#39;UTF-8&#39;);
// 设置 HTTP 输出字符编码为UTF-8
mb_http_output(&#39;UTF-8&#39;);
$file = &#39;data.txt&#39;;
$content = &#39;你好世界!&#39;;
$handle = fopen($file, &#39;w&#39;);
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 = &#39;data.txt&#39;;
$content = "\xEF\xBB\xBF" . &#39;你好世界!&#39;;  // 在内容前添加BOM标记
$handle = fopen($file, &#39;w&#39;);
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 = &#39;data.txt&#39;;
$content = &#39;你好世界!&#39;;
$handle = fopen($file, &#39;w&#39;);
$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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn