Heim > Artikel > Backend-Entwicklung > Was soll ich tun, wenn PHP Ajax verstümmelte chinesische Zeichen übermittelt?
Lösung für die PHP-Ajax-Übermittlung verstümmelter chinesischer Zeichen: 1. Verwenden Sie die UTF-8-Kodierung für alle Daten, einschließlich Datenbankkodierung, PHP-Kodierung und Front-End-Kodierung. 2. Verwenden Sie zum Kodieren die beiden Funktionen „JSON“ und „arrayRecursive“. Jedes Zeichen wird separat codiert.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP Version 7.1, Dell G3-Computer.
php verwendet das verstümmelte Ajax-Problem für Chinesisch
In PHP extrahieren wir nach dem Extrahieren von Daten aus der Datenbank normalerweise mehrere Datenzeilen gleichzeitig. Wenn das Front-End-JS Ajax verwendet, um mit dem Back-End zu interagieren, PHP kann nur eins widergeben Daten, aber wir haben mehrere Daten, also können wir nur ein Array verwenden. Dies verwendet die Funktion json_encode(), um die Daten in JSON-Daten zu konvertieren.
Schauen wir uns an, wie man ein
php-Array konvertiert:
Zuerst erstellen wir zwei neue Arrays in PHP, eines enthält Chinesisch, das andere enthält Zahlen oder Englisch, und werfen einen Blick auf die endgültige Ausgabe. Idee: Die zugehörigen Werte sind intuitiver Arrays gleichzeitig in einem Array speichern und gleichzeitig ausgeben
$gg=array('a'=>'中国','b'=>'日本','c'=>'美国','d'=>'加拿大','e'=>'法国'); $yy=array('f'=>'6','g'=>'7','h'>='8','i'=>'tom','j'=>'kevin');
Ausgabe Das Ergebnis ist wie folgt:
echo $json=json_encode($gg);
Wir können sehen, dass die Daten nach der Formatierung des Arrays im Array in JSON in [] platziert werden. eckige Klammern, und die Arrays darin stehen in {}-Klammern, aber es ist immer noch verstümmelt.
Um das Problem verstümmelter Zeichen anzugehen, gibt es zwei Methoden:
Methode 1: Alle Daten verwenden UTF-8-Kodierung, einschließlich Kodierung aus der Datenbank, PHP-Kodierung und Front-End-Kodierung.
Methode 2: Verwenden Sie die folgenden beiden Funktionen, um jedes Zeichen separat zu kodieren: (Einige Symbole scheinen erfolglos maskiert zu werden, daher wird die Verwendung dieser Methode nicht empfohlen)
{"a":"\u4e2d\u56fd","b":"\u65e5\u672c","c":"\u7f8e\u56fd","d":"\u52a0\u62ff\u5927","e":"\u6cd5\u56fd"}
Nach Verwendung dieser beiden Funktionen lautet das Ausgabeergebnis:
echo $json=json_encode(array($gg,$yy));
Empfohlenes Lernen: „
PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP Ajax verstümmelte chinesische Zeichen übermittelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!