Heim  >  Artikel  >  Backend-Entwicklung  >  Warum ist die PHP-Webseite verstümmelt?

Warum ist die PHP-Webseite verstümmelt?

青灯夜游
青灯夜游Original
2021-11-10 18:41:516058Durchsuche

Die Gründe für verstümmelte PHP-Webseiten: 1. Die Webseitenkodierung (Zeichensatz) ist falsch eingestellt, was dazu führt, dass der Browser sie mit der falschen Kodierung analysiert. 2. Die PHP-Datei wird mit der falschen Kodierung geöffnet und gespeichert.

Warum ist die PHP-Webseite verstümmelt?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Beim tatsächlichen Schreiben von PHP-Code treten häufig einige Probleme auf, z. B. verstümmelte Seiten und andere Probleme. Als nächstes werden wir die Ursachen für verstümmelte Zeichen auf PHP-Seiten und entsprechende Lösungen im Detail vorstellen.

Im Allgemeinen gibt es zwei Gründe für das Erscheinen verstümmelter Zeichen auf PHP-Seiten:

  • Aufgrund der falschen Kodierungseinstellung (Zeichensatz) analysiert der Browser sie mit der falschen Kodierung, was zu einem Bildschirm voller Zeichen führt chaotische „himmlische Bücher“

  • Die Datei wurde mit der falschen Kodierung geöffnet und dann gespeichert. Beispielsweise war eine Textdatei ursprünglich in GB2312 kodiert, wurde aber in der UTF-8-Kodierung geöffnet und gespeichert.

Um das obige Problem mit verstümmelten PHP-Seiten zu lösen, müssen Sie zunächst wissen, welche Aspekte der Entwicklung eine Codierung beinhalten:

  • Codierung der Seitendeklaration: Im HTML-Code HEAD kann es verwendet werden, um dem Browser mitzuteilen, welche Codierung die Codierung beinhaltet Derzeit verwendet XXX in der chinesischen Website-Entwicklung hauptsächlich die Kodierung GB2312 und UTF-8.

  • Datenbankverbindungskodierung: Bezieht sich darauf, welche Kodierung zum Übertragen von Daten an die Datenbank bei der Durchführung von Datenbankoperationen verwendet wird. Hierbei ist zu beachten, dass sie nicht mit der Kodierung der Datenbank selbst verwechselt werden sollte Die Codierung von MySQL ist die Latin1-Codierung, was bedeutet, dass MySQL Daten in der Latin1-Codierung speichert und Daten, die in anderen Codierungen an MySQL übertragen werden, in die Latin1-Codierung konvertiert werden.

Da wir nun wissen, wo die Codierung bei der WEB-Entwicklung eine Rolle spielt, kennen wir auch den Grund für verstümmelte PHP-Seiten: Da die meisten der verschiedenen Codierungen ASCII-kompatibel sind, werden keine chinesischen Symbole angezeigt hat kein Glück.

Im Folgenden sind einige häufige Fehlersituationen und Lösungen aufgeführt:

1. Die Datenbank verwendet die Codierung UTF8 und die Codierung der Seitendeklaration ist GB2312. Dies ist die häufigste Ursache für verstümmelte Zeichen. Wenn Sie zu diesem Zeitpunkt Daten direkt im PHP-Skript auswählen, wird die PHP-Seite verstümmelt. Sie müssen sie vor der Abfrage verwenden:

mysql_query("SET NAMES GBK"); zum Festlegen MYSQL-Verbindungskodierung, um sicherzustellen, dass die Deklarationskodierung der Seite mit der hier festgelegten Verbindungskodierung übereinstimmt (GBK ist eine Erweiterung von GB2312). Wenn die Seite UTF-8-codiert ist, können Sie Folgendes verwenden: mysql_query("SET NAMES GBK"); 来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:

mysql_query("SET NAMES UTF8");

mysql_query("SET NAMES UTF8"); Beachten Sie, dass es sich um UTF8 anstelle des häufig verwendeten UTF-8 handelt. Wenn die Kodierung der Seitendeklaration mit der internen Kodierung der Datenbank übereinstimmt, müssen Sie die Verbindungskodierung nicht festlegen.

Hinweis: Tatsächlich ist die Dateneingabe und -ausgabe von MYSQL komplizierter als oben erwähnt. In der MYSQL-Konfigurationsdatei my.ini sind zwei Standardcodierungen definiert, die in [Client] und standardmäßig festgelegt sind [mysqld]. Der Standardzeichensatz wird verwendet, um die von der Standard-Client-Verbindung und der internen Datenbank verwendete Kodierung festzulegen. Bei der oben angegebenen Kodierung handelt es sich tatsächlich um den Befehlszeilenparameter „character_set_client“, wenn der MYSQL-Client eine Verbindung zum Server herstellt. Dieser teilt dem MYSQL-Server mit, welche Kodierung die vom Client empfangenen Daten haben, anstatt die Standardkodierung zu verwenden.

2. Die Kodierung der Seitendeklaration stimmt nicht mit der Kodierung der Datei selbst überein. Dies kommt selten vor, denn wenn die Kodierung inkonsistent ist, wird das, was der Künstler beim Erstellen der Seite sieht, verstümmelt. In den meisten Fällen wird dies dadurch verursacht, dass einige kleinere Fehler nach der Veröffentlichung behoben, die Seite in der falschen Codierung geöffnet und dann gespeichert werden. 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.

Empfohlenes Lernen: „PHP-Video-Tutorial

“🎜

Das obige ist der detaillierte Inhalt vonWarum ist die PHP-Webseite verstümmelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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