Heim > Artikel > Backend-Entwicklung > So lösen Sie das verstümmelte PHP-Ajax-Problem
Lösung für verstümmelte PHP-Ajax-Zeichen: 1. Verwenden Sie die UTF-8-Kodierung für alle Daten. 2. Verwenden Sie die beiden Funktionen „JSON“ und „arrayRecursive“, um jedes Zeichen separat zu kodieren.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
PHP verwendet Ajax-Chinesisch verstümmeltes Problem
In PHP werden wir nach dem Extrahieren von Daten aus der Datenbank im Allgemeinen extrahieren mehrere Zeilen gleichzeitig Daten: Wenn das Front-End-JS Ajax verwendet, um mit dem Back-End zu interagieren, kann PHP nur ein Datensignal ausgeben, aber wir haben mehrere Daten, sodass nur ein Array übergeben werden kann, das json_encode() verwendet Funktion, json_encode() Die Funktion bedeutet, 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 zwei Funktionen, um jedes Zeichen separat zu codieren: (Einige Symbole scheinen erfolgreich 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 vonSo lösen Sie das verstümmelte PHP-Ajax-Problem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!