Heim > Artikel > Backend-Entwicklung > Bezüglich des Problems verstümmelter Zeichen, wenn die PHP-Funktion fopen Dokumente mit chinesischen Namen auf Windows-Systemen erstellt
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:
<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:
Wie Sie sehen, ist der Dokumentname verstümmelt, der Inhalt des Dokuments jedoch nicht.
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:
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:
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.