Heim > Artikel > Backend-Entwicklung > Was tun, wenn PHP-Bom verstümmelte chinesische Zeichen enthält?
Lösung für verstümmelten PHP-Bom-Code: 1. Öffnen Sie die entsprechende PHP-Entwicklungsdatei. 2. Fügen Sie „$bom = pack("C3",239,187,191);$strcsv =$bom.$strcsv;“ hinzu.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.4, DELL G3-Computer
php bom Was tun mit chinesischen verstümmelten Zeichen?
Das durch BOM in der PHP-Entwicklung verursachte Problem mit verstümmeltem Code
Im Projekt muss es in PHP sein Laden Sie die CSV-Datei direkt herunter, aber nach dem Herunterladen der Datei werden in Excel verstümmelte Zeichen angezeigt. Um die Stückliste zu erhöhen, lautet die Methode wie folgt:
$bom = pack("C3",239,187,191); //bom: xEFxBBxBF $strcsv =$bom.$strcsv;
Das Folgende ist eine prägnantere Erklärung aus dem Internet:
Stücklistenbeschreibung: In der UCS-Codierung gibt es ein Zeichen namens „ZERO WIDTH NO-BREAK SPACE“. und seine Kodierung ist FEFF . FEFF ist ein Zeichen, das in UCS nicht existiert und daher in der tatsächlichen Übertragung nicht vorkommen sollte. Die UCS-Spezifikation empfiehlt, dass wir vor der Übertragung des Bytestreams die Zeichen „ZERO WIDTH NO-BREAK SPACE“ übertragen. Wenn der Empfänger FEFF empfängt, zeigt er auf diese Weise an, dass der Bytestrom Big-Endian ist. Wenn er FFFE empfängt, zeigt er an, dass der Bytestrom Little-Endian ist. Daher wird das Zeichen „ZERO WIDTH NO-BREAK SPACE“ auch BOM genannt.
UTF-8 erfordert keine Stückliste zur Angabe der Bytereihenfolge, kann jedoch die Stückliste zur Angabe der Kodierungsmethode verwenden. Die UTF-8-Kodierung des Zeichens „ZERO WIDTH NO-BREAK SPACE“ ist EF BB BF. Wenn der Empfänger also einen Bytestrom empfängt, der mit EF BB BF beginnt, weiß er, dass dieser UTF-8-codiert ist. Windows verwendet BOM, um die Kodierung von Textdateien zu markieren.
PHP hat das Stücklistenproblem beim Entwerfen nicht berücksichtigt, was bedeutet, dass die drei Zeichen der Stückliste am Anfang der UTF-8-codierten Datei nicht ignoriert werden.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP-Bom verstümmelte chinesische Zeichen enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!