PHP generiert verstümmelten TXT-Code

王林
Freigeben: 2023-02-24 14:14:01
Original
2634 Leute haben es durchsucht

PHP generiert verstümmelten TXT-Code

Vorwort

Ich glaube, dass viele Menschen bei der Verwendung von PHP auf verstümmelte generierte Dateien gestoßen sind, unabhängig davon, ob sie fwrite oder file_put_contents Write verwenden. Vielleicht versuchen Sie, das Problem zuerst durch Kodierung zu lösen, aber das Endergebnis ist oft nicht ideal, obwohl wir es auf UTF-8-Kodierung konvertiert haben...

Was ist also die Ursache?

Ein Satz: Fehlende Kopfstückliste (dies bezieht sich natürlich definitiv nicht auf die Js-Stückliste)

Stückliste

Seitdem Es wurde BOM erwähnt, einige Studenten kennen diesen Kerl vielleicht nicht sehr gut. Veteranen können es hier überspringen. Wenn Sie unter Windows ein Programm wie Notepad verwenden, um eine Textdatei im UTF-8-Format zu speichern, fügt Notepad vor dem Dateikopf einige unsichtbare Zeichen (EF BB BF) ein, die sogenannte BOM (Byte Order). Markieren). ).

Nicht beschränkt auf in Notepad gespeicherte Dateien, solange die Öffnung der Datei mehrere unsichtbare Zeichen „EF BB BF“ enthält (das Hexadezimalzeichen sollte xEFxBBxBF sein, sichtbar, wenn die Datei im Binärformat bearbeitet wird). Dies ist wie eine Konvention. Wenn das System dieses Ding sieht, geht es davon aus, dass Ihre Datei UTF-8-codiert ist.

Aus diesem Grund ist die Datei, die Sie dem Benutzer präsentieren, möglicherweise verstümmelt, wenn die Datei keine Stückliste hat.

PS: Tatsächlich können Sie BOM als das Zeichensatzattribut in HTML und das Codierungsattribut in XML verstehen, die als Bezeichner dienen.

Schema

Wie gibt man also Stücklisten in PHP aus?

Die Antwort lautet: Ausgabe, bevor der gesamte Inhalt ausgegeben wird:

print(chr(0xEF).chr(0xBB).chr(0xBF));
Nach dem Login kopieren

Wenn Sie Dateien generieren, kann es natürlich zwei der folgenden geben:

fwrite($file, chr(0xEF).chr(0xBB).chr(0xBF)); file_put_contents($file, chr(0xEF).chr(0xBB).chr(0xBF));
Nach dem Login kopieren

Empfohlenes Tutorial:PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonPHP generiert verstümmelten TXT-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!