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

藏色散人
Freigeben: 2023-03-09 17:28:02
Original
1997 Leute haben es durchsucht

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');
Nach dem Login kopieren

Ausgabe Das Ergebnis ist wie folgt:

echo $json=json_encode($gg);
Nach dem Login kopieren

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 dem Login kopieren

                                                            Nach Verwendung dieser beiden Funktionen lautet das Ausgabeergebnis:

echo $json=json_encode(array($gg,$yy));
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage