Heim  >  Artikel  >  Backend-Entwicklung  >  Bezüglich des Problems verstümmelter Zeichen, wenn die PHP-Funktion fopen Dokumente mit chinesischen Namen auf Windows-Systemen erstellt

Bezüglich des Problems verstümmelter Zeichen, wenn die PHP-Funktion fopen Dokumente mit chinesischen Namen auf Windows-Systemen erstellt

WBOY
WBOYOriginal
2016-07-30 13:31:231217Durchsuche

Wie wir alle wissen, kann die fopen-Funktion von PHP ein neues Dokument erstellen. Wenn das von Ihnen erstellte Dokument jedoch auf Chinesisch benannt ist und Sie ein Windows-System verwenden, werden Sie feststellen, dass der chinesische Teil des Dokumentnamens dies tut verstümmelt sein. Machen wir ein Experiment:

PHP-Skript (UTF-8-Kodierung)

<code><span><?php </span><span>$fileName</span> = <span>__DIR__</span> . <span>'/中文文档.txt'</span>;
<span>//$fileName = iconv('UTF-8', 'GBK', $fileName);</span><span>$fp</span> = fopen(<span>$fileName</span>, <span>'w'</span>);
fwrite(<span>$fp</span>, <span>'这是中文内容'</span>);
fclose(<span>$fp</span>);
<span>?></span></span></code>

Führen Sie das obige Skript aus und durchsuchen Sie das neu erstellte Dokument:
Bezüglich des Problems verstümmelter Zeichen, wenn die PHP-Funktion fopen Dokumente mit chinesischen Namen auf Windows-Systemen erstellt
Wie Sie sehen, ist der Dokumentname verstümmelt, der Inhalt des Dokuments jedoch nicht.

Lösung

Entfernen Sie den Kommentar im zweiten Satz des Codes im obigen PHP-Skript, konvertieren Sie $fileName von der UTF-8-Codierung in die GBK-Codierung und führen Sie das Skript dann erneut aus, um es zu finden der Dokumentname Keine verstümmelten Zeichen mehr:
不Bezüglich des Problems verstümmelter Zeichen, wenn die PHP-Funktion fopen Dokumente mit chinesischen Namen auf Windows-Systemen erstellt

Endlich

Derzeit tritt diese Situation nur auf Windows-Systemen auf und ist unter Mac OS/Linux normal, also funktioniert es Gut auf Unix/Linux-Systemen. Es ist nicht erforderlich, die Kodierung des Dokumentnamens in die GBK-Kodierung zu konvertieren. Beispiel:
Bezüglich des Problems verstümmelter Zeichen, wenn die PHP-Funktion fopen Dokumente mit chinesischen Namen auf Windows-Systemen erstellt

Copyright-Erklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige stellt das Problem verstümmelter Zeichen vor, wenn die PHP-Funktion fopen Dokumente mit chinesischen Namen auf dem Windows-System erstellt, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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