Wenn Freunde zum ersten Mal PHP lernen, stellen sie häufig fest, dass die Inhaltsausgabe im Browser viele verstümmelte Zeichen enthält, insbesondere bei der Ausgabe von Chinesisch. Warum gibt es verstümmelte Codes? Im Allgemeinen gibt es zwei Gründe für das Erscheinen verstümmelter Zeichen. Einer liegt an der falschen Kodierungseinstellung (Zeichensatz), die dazu führt, dass der Browser mit der falschen Kodierung analysiert, was zu einem Bildschirm voller unordentlicher „himmlischer Bücher“ führt Zweitens ist die Datei mit der falschen Codierung geöffnet und dann gespeichert. Wenn beispielsweise eine Textdatei ursprünglich in GB2312 codiert ist, aber in der UTF-8-Codierung geöffnet und dann gespeichert wird, werden verstümmelte Zeichen angezeigt. Im folgenden Artikel werden wir über das Problem und die Lösung chinesischer verstümmelter Zeichen in PHP sprechen.
Problem mit chinesischem verstümmeltem Code
1. So lösen Sie den chinesischen verstümmelten Code Problem in PHP?
Die erste Methode: Lösen Sie das Problem chinesischer verstümmelter Zeichen in HTML Wenn Ihre HTML-Datei verstümmelte Zeichen enthält, können Sie der Head-Tag-Codierung UTF8-Codierung (Internationalisierung) hinzufügen ): UTF-8 ist eine länderlose Kodierung, das heißt, sie ist sprachunabhängig und kann in jeder Sprache verwendet werden. Zweitens gemischte HTML- und PHP-SeitenlösungDrittens das chinesische verstümmelte Problem reiner PHP-Seiten (die Daten sind statisch)Viertens das chinesische verstümmelte Problem von PHP + MySQL Zusätzlich zum dritten Vorgang müssen Sie auch die Datenbankkodierung hinzufügen, bevor Sie Ihre Daten abfragen/ändern/hinzufügen. Darüber hinaus ist anzumerken, dass sich UTF8 hier vom vorherigen unterscheidet und keine horizontale Linie in der Mitte vorhanden ist. 2.Lösung für das Problem der Verwendung von strrev zum Umdrehen chinesischer verstümmelter Zeichen
header("Content-Type: text/html; charset=utf-8"); $str = '处理使用strrev()函数时的乱码问题'; function cnstrrev($str) { $len = strlen($str); for($i = 0; $i < $len; $i++) { $char = $str{0}; if(ord($char) > 127) //ord()函数取得第一个字符的ASCII码,如果大于0xa0(127)的话则是中文字符 { $i+=2;//utf-8编码的情况下,一个中文字符占三个字节 if($i < $len) { $arr[] = substr($str, 0, 3);//utf-8编码的情况下,一个中文字符占三个字节 $str = substr($str, 3); } } else { $arr[] = $char; $str = substr($str, 1);//否则为非中文,占一个字符 } } return join(array_reverse($arr));//以相反的元素顺序返回数组: } echo $str.'+'.cnstrrev($str);
Lösung für json_encode UTF-8 verstümmeltes Chinesisch Zeichen in PHP
Dies ist eine einfache Codekonvertierung und gibt dann das erforderliche Array nach dem URL-Code zurückpublic static function encodeOperations ($array) { foreach ((array)$array as $key => $value) { if (is_array($value)) { encodeOperations($array[$key]); } else { $array[$key] = urlencode(mb_convert_encoding($value,'UTF-8','GBK')); } } return $array; }
Rückgabewert: string
Funktionstyp: Kodierungsverarbeitung
URL-Dekodierung
Syntax: string urldecode(string str);
Rückgabewert: String
Funktionstyp: Codierungsverarbeitung
5.
Es ist ersichtlich, dass selbst bei Verwendung der mit UTF8 codierten Zeichen bei Verwendung von json_encode verstümmelte chinesische Zeichen angezeigt werden. Die Lösung besteht darin, die Zeichen mit der Funktion urlencode() zu verarbeiten, bevor Sie json_encode und dann json_encode verwenden, und sie dann bei der Ausgabe des Ergebnisses mit der Funktion urldecode() zurückzukonvertieren.
6.
Lösung für das verstümmelte Ajax-Chinesisch-Problem in PHPWeil XMLHttp den Antwortkörper gemäß UTF-8-Kodierung dekodiert, wenn der zurückgegebene Antworttext auf der Serverseite verarbeitet wird Wenn der gesendete Datenstrom tatsächlich UTF-8-codiert ist, werden chinesische Zeichen korrekt angezeigt. Wenn es sich jedoch um GBK oder eine andere Codierung handelt, tritt die oben beschriebene Situation auf.
Verwandte Fragen und Antworten1.
Es ist ein magisches Problem aufgetreten, das durch verstümmelte chinesische Schriftzeichen verursacht wurdePHP-chinesischer verstümmelter CodeChinesische verstümmelte Webseite kann nicht gelöst werden, siehe Bild[Verwandte Empfehlungen ]
1. Kostenlose Video-Tutorials auf der chinesischen PHP-Website:
„php.cn Dugu Jiujian (4)-php-Video-Tutorial“《php-Einführungs-Tutorial: PHP in einer Woche lernen》Das obige ist der detaillierte Inhalt vonZusammenfassung der Lösungen für das Problem verstümmelter chinesischer PHP-Zeichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!