Heim > Artikel > Backend-Entwicklung > So lösen Sie das chinesische verstümmelte Problem von PHP Ajax
Lösung für verstümmelte chinesische Zeichen in PHP Ajax: 1. Alle Daten verwenden UTF-8-Kodierung, einschließlich Datenbankkodierung, PHP-Kodierung und Front-End-Kodierung. 2. Verwenden Sie die arrayRecursive-Methode, um jedes Zeichen separat zu kodieren.
Empfohlen: „PHP-Video-Tutorial“
php Chinesisches verstümmeltes Problem mit Ajax
In PHP extrahieren wir nach dem Extrahieren von Daten aus der Datenbank im Allgemeinen mehrere Datenzeilen gleichzeitig Wenn Ajax für die Interaktion mit dem Backend verwendet wird, kann PHP nur ein Datensignal ausgeben, wir haben jedoch mehrere Daten, sodass nur ein Array übergeben werden kann. Dies bedeutet, dass die Funktion json_encode() verwendet wird Um die Daten zu konvertieren, konvertieren Sie sie in JSON-Daten.
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 kodieren: (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));
Das obige ist der detaillierte Inhalt vonSo lösen Sie das chinesische verstümmelte Problem von PHP Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!