Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn PHP Ajax verstümmelte chinesische Zeichen übermittelt?

Was soll ich tun, wenn PHP Ajax verstümmelte chinesische Zeichen übermittelt?

藏色散人
藏色散人Original
2021-05-14 09:38:352061Durchsuche

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.

Was soll ich tun, wenn PHP Ajax verstümmelte chinesische Zeichen übermittelt?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn