Verstümmelte Webseiten bereiten Netzwerkprogrammierungsexperten schon immer Kopfzerbrechen. Ich bin während meines Studiums auch auf dieses Problem gestoßen wie folgt. :
Allgemeine chinesische Kodierung: gb2312, gbk (eine Erweiterung der ersteren), diese beiden Kodierungen sind nicht international einsetzbar. UTF-8 ist eine internationale Standardkodierung, und die allgemeine Webseitenkodierung verwendet diese Kodierungsmethode ;
Verstümmelte Zeichen werden hauptsächlich durch Inkonsistenzen in den Codierungsmethoden verursacht. Es gibt vier Hauptinkonsistenzen, die diese Möglichkeit verursachen können:
Die Codierungsmethode der Auslagerungsdatei (.html, .php usw.)
2. Die Kodierungsmethode des in html.head angegebenen Browsers
3. Die Kodierungsmethode der MySql-Datenbankübertragung
4. Apache-Zeichensatz
Die Codierungen dieser vier müssen im Allgemeinen vereinheitlicht werden, und es ist angemessener, sie in UTF-8 zu vereinheitlichen. Die folgenden vier Punkte sollten beachtet werden:
1. Eine Bearbeitung wie PlusEdit erkennt die Dateikodierung und die Kodierung bleibt nach dem Öffnen und Speichern unverändert, während Entwicklungstools wie Visual Studio 2005 und Zend Studio verwendet werden wird Werkzeuge verwenden Der Zeichensatz in den Voreinstellungen wird geöffnet und gespeichert, und die ursprüngliche Codierung kann geändert werden.
Es kann ursprünglich utf-8 sein, zend studio -> Tool (bevorzugte Codierung ist gb2312), es wird zu gb2312, was zu verstümmelten Zeichen führen kann
2 . < ;meta http-equiv="Content-Type" content="text/html; charset=utf-8">Dieser Satz kann den Browser zwingen, die Seite in utf-8-Codierung anzuzeigen, aber es gibt eine Sache Hinweis: Möglicherweise ist der Zeichensatz von Apache nicht UTF-8, z. B. GB2312. In diesem Fall öffnet der Browser zunächst die Zeichensatzkodierung des Servers (GB2312), was zu verstümmelten Zeichen führen kann.
Im Allgemeinen kann es also so gehandhabt werden: Schalten Sie den Zeichensatz des Servers Apache AddDefaultCharset aus. Zu diesem Zeitpunkt wird das Durchsuchen mit dem Zeichensatz im Seitenkopf geöffnet.
3. PHP interagiert im Allgemeinen mit der MySQL-Datenbank, es gibt auch ein Codierungsproblem. Unabhängig davon, ob es sich um das Hinzufügen oder Abfragen handelt, muss die Kommunikationscodierungsmethode angegeben werden (im Allgemeinen konsistent mit der Codierungsmethode). Andernfalls sind die entnommenen Daten in Nicht-UTF-8 kodiert und werden bei der Übertragung von UTF-8-kodierten Zeichen an die Datenbank über Nicht-UTF-8 immer noch verstümmelt Die Kommunikationsmethode schlägt ebenfalls fehl. Ich hoffe, dass nicht jeder den gleichen Fehler macht: O(∩_∩)O~) Geben Sie die Kommunikationsmethode an: mysql_query('set name utf8'). ist nicht utf-8;
4. Im Allgemeinen spielt die Codierung keine Rolle. Es kommt zu Problemen bei der Ausführung von SQL-Anweisungen, beispielsweise wenn das Front-End-Visualisierungstool Daten löscht , es wird ein Fehler gemeldet, dass der Zeichensatz nicht übereinstimmt. Es besteht keine Notwendigkeit, die Codierungsmethode in der Datei my.ini zu ändern. Nach der Änderung ist MySQL möglicherweise nicht in der Lage, einen 1065-Fehler zu melden.
Solange beim Hinzufügen und Überprüfen des MySQL-Client-Programms in der Befehlszeile kein verstümmelter Code vorhanden ist, sollte es kein Problem mit der Codierungsmethode der Datenbank geben. Der Schlüssel zu überprüfen ist, ob der Code verstümmelt ist wird durch die oben genannten drei verursacht.
Empfohlenes Video-Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonBeim Durchsuchen der PHP-Seite erscheint verstümmelter Text. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!