Heim > Artikel > Backend-Entwicklung > Chinesischer verstümmelter Code auf der PHP-Seite
Was soll ich tun, wenn die PHP-Seite verstümmelte chinesische Zeichen enthält?
Öffnen Sie zuerst die Seite und zeigen Sie die verstümmelte PHP-Datei an.
Dann schreiben Sie:
header('Content-type:text/html;charset=utf-8');
oben in die PHP-Datei, um Chinesisch anzuzeigen.
Empfohlenes Handbuch: PHP-Handbuch zum Selbststudium
Zugehörige Einführung:
1. bezieht sich auf Es ist die Codierung, in der die Seitendatei (.html, .php usw.) selbst gespeichert wird. Notepad und Dreamweaver erkennen beim Öffnen der Seite automatisch die Dateikodierung, sodass es weniger Probleme gibt. Allerdings erkennt ZendStudio die Kodierung nicht automatisch. Es öffnet die Datei nur in einer bestimmten Kodierung entsprechend der Konfiguration der Einstellungen. Wenn Sie die Datei während der Arbeit versehentlich mit der falschen Kodierung öffnen und sie nach der Änderung verstümmelt speichern Charaktere werden erscheinen (ich fühle es tief).
2. Kodierung der Seitendeklaration: Im HTML-Code HEAD können Sie e8b088d6bcb59096041b1c501b34c57e verwenden Der Browser Welche Codierung wird für die Server-Webseite verwendet? Derzeit verwendet XXX hauptsächlich GB2312 und UTF-8 in der chinesischen Website-Entwicklung
3. Bei der Übertragung von Daten aus der Datenbank müssen Sie darauf achten, diese nicht mit der Codierung der Datenbank selbst zu verwechseln. Beispielsweise ist die Standardcodierung in MySQL die Latin1-Codierung, was bedeutet, dass MySQL die an MySQL übertragenen Daten speichert in anderen Codierungen wird in latin1 konvertiert.
Wenn Sie wissen, wo die Codierung in die WEB-Entwicklung involviert ist, wissen Sie auch, warum die PHP-Seite verstümmelt ist: Die oben genannten drei Codierungseinstellungen sind inkonsistent, da die meisten davon inkonsistent sind Die verschiedenen Kodierungen sind ASCII-kompatibel, daher werden keine englischen Symbole angezeigt, aber chinesische Zeichen haben kein Glück. Hier sind einige häufige Fehlersituationen und Lösungen:
1 Die Datenbank verwendet UTF8-Kodierung und die Kodierung der Seitendeklaration ist GB2312. Dies ist die häufigste Ursache für verstümmelte Zeichen. Wenn Sie Daten direkt im PHP-Skript auswählen, müssen Sie Folgendes verwenden: "); um die MYSQL-Verbindungskodierung festzulegen, um sicherzustellen, dass die Seite die Kodierung deklariert. Sie stimmt mit der hier festgelegten Verbindungskodierung überein (GBK ist eine Erweiterung von GB2312). Wenn die Seite UTF-8-kodiert ist, können Sie Folgendes verwenden:
mysql_query("SET NAMES UTF8"); Beachten Sie, dass es sich um UTF8 und nicht um UTF-8 handelt. Wenn die Kodierung der Seitendeklaration mit der internen Kodierung der Datenbank übereinstimmt, ist dies nicht erforderlich Legen Sie die Verbindungskodierung fest.
Hinweis: Tatsächlich ist die Dateneingabe und -ausgabe von MYSQL komplizierter als die oben genannten. In der INI sind zwei Standardkodierungen definiert. set in [client] und default-character-set in [mysqld], um die von der Clientverbindung bzw. der Datenbank intern verwendete Codierung festzulegen. Die oben angegebene Codierung ist tatsächlich der Befehlszeilenparameter „character_set_client“, wenn der MYSQL-Client eine Verbindung zum Server herstellt. Dadurch wird dem MYSQL-Server mitgeteilt, welche Codierung die empfangenen Clientdaten haben.
2. Die Codierung der Seitendeklaration stimmt selten mit der Codierung überein Wenn die Seite inkonsistent ist, wird das, was Sie beim Erstellen der Seite im Browser sehen, häufiger durch die Behebung einiger kleiner Fehler nach der Veröffentlichung, das Öffnen der Seite mit der falschen Codierung und das anschließende Speichern verursacht. Oder Sie verwenden eine FTP-Software, um Dateien direkt online zu ändern, z. B. CuteFTP. Aufgrund einer falschen Software-Kodierungskonfiguration wird die falsche Kodierung konvertiert.
3. Einige Freunde, die virtuelle Hosts mieten, haben immer noch verstümmelte PHP-Seiten, obwohl die oben genannten drei Kodierungen korrekt eingestellt sind. Wenn die Webseite beispielsweise in GB2312 kodiert ist, wird sie beim Öffnen von Browsern wie dem IE immer als UTF-8 erkannt. Der HEAD der Webseite hat bereits angegeben, dass es sich um GB2312 handelt, nachdem die Browserkodierung manuell auf GB2312 geändert wurde , die Seite wird normal angezeigt. Der Grund dafür ist, dass der Server-Apache die globale Standardkodierung des Servers festlegt und AddDefaultCharset UTF-8 in httpd.conf hinzufügt. Zu diesem Zeitpunkt sendet der Server zuerst den HTTP-Header und seine Priorität ist höher als die auf der Seite deklarierte Codierung. Natürlich erkennt der Browser ihn falsch. Es gibt zwei Lösungen. Administratoren sollten AddDefaultCharset GB2312 zur Konfigurationsdatei ihrer eigenen virtuellen Maschine hinzufügen, um die globale Konfiguration zu überschreiben, oder sie in .htaccess in ihrem eigenen Verzeichnis konfigurieren.
Empfohlene verwandte Artikel:1.Wie löse ich verstümmelte chinesische Zeichen in PHP? Einführung in drei Situationen verstümmelter chinesischer Zeichen in PHP
Verwandte Videoempfehlungen:
1.Dugu Jiujian (4)_PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonChinesischer verstümmelter Code auf der PHP-Seite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!