Heim  >  Artikel  >  Backend-Entwicklung  >  Methoden zur Lösung des Problems chinesischer verstümmelter JSON-Daten in PHP

Methoden zur Lösung des Problems chinesischer verstümmelter JSON-Daten in PHP

PHPz
PHPzOriginal
2024-03-09 08:48:03458Durchsuche

Methoden zur Lösung des Problems chinesischer verstümmelter JSON-Daten in PHP

Methoden zur Lösung des Problems chinesischer verstümmelter JSON-Daten in PHP

Bei der Entwicklung mit PHP stoßen wir häufig auf die Situation, Daten im JSON-Format auszugeben. Bei der Rückgabe der chinesischen Daten erscheinen jedoch manchmal verstümmelte Zeichen, was zu Problemen bei der Anzeige und Datenverarbeitung der Front-End-Seite führt. In diesem Artikel werden einige Methoden zur Lösung des Problems chinesischer verstümmelter JSON-Daten in PHP vorgestellt, in der Hoffnung, Entwicklern dabei zu helfen, dieses häufige Problem besser zu lösen. Im Folgenden werden einige häufig verwendete Lösungen mit spezifischen Codebeispielen ausführlich vorgestellt.

Methode 1: Legen Sie den zweiten Parameter JSON_UNESCAPED_UNICODE fest, wenn Sie die Funktion json_encode verwenden.

Wenn Sie in PHP die Funktion json_encode zum Konvertieren eines Arrays oder Objekts in eine JSON-Formatzeichenfolge verwenden, können Sie die Konvertierung von Chinesisch vermeiden, indem Sie den zweiten Parameter JSON_UNESCAPED_UNICODE festlegen ist als Unicode-Kodierung definiert, was zu verstümmelten Zeichen führt. Das Folgende ist ein Beispielcode:

$data = array(
    'name' => '张三',
    'age' => 30
);

echo json_encode($data, JSON_UNESCAPED_UNICODE);

In diesem Beispiel konvertieren wir das $data-Array über json_encode in eine JSON-Formatzeichenfolge und legen den Parameter JSON_UNESCAPED_UNICODE so fest, dass chinesische Zeichen nicht maskiert werden und die ursprünglichen chinesischen Zeichen beibehalten werden.

Methode 2: Verwenden Sie die Header-Funktion, um den Inhaltstyp auf application/json festzulegen.

Bei der Rückgabe von JSON-Daten können Sie die Header-Funktion verwenden, um den Inhaltstyp der Antwort auf application/json festzulegen, um dem Browser dies mitzuteilen Die zurückgegebenen Daten liegen im JSON-Format vor. Dies hilft dem Browser, die zurückgegebenen JSON-Daten korrekt zu analysieren und verstümmelte Zeichen zu vermeiden. Hier ist ein Beispielcode:

$data = array(
    'name' => '李四',
    'age' => 25
);

header('Content-Type: application/json; charset=utf-8');
echo json_encode($data);

In diesem Beispiel verwenden wir zuerst die Header-Funktion, um den Content-Type auf application/json zu setzen und die Codierung auf utf-8 anzugeben, und verwenden dann json_encode, um das $data-Array in ein zu konvertieren Rückgabe der Zeichenfolge im JSON-Format.

Methode 3: Verwenden Sie die Funktion mb_convert_encoding, um die Kodierung zu konvertieren

Manchmal werden verstümmelte Zeichen angezeigt, selbst wenn der Parameter JSON_UNESCAPED_UNICODE gesetzt ist oder der Inhaltstyp auf application/json gesetzt ist. Zu diesem Zeitpunkt können Sie versuchen, die Daten mit der Funktion mb_convert_encoding in die UTF-8-Codierung zu konvertieren. Hier ist ein Beispielcode:

$data = array(
    'name' => '王五',
    'age' => 35
);

$jsonData = json_encode($data);

$jsonData = mb_convert_encoding($jsonData, 'UTF-8', 'UTF-8');

echo $jsonData;

In diesem Beispiel verwenden wir zunächst json_encode, um die Daten in eine Zeichenfolge im JSON-Format zu konvertieren, konvertieren sie dann über mb_convert_encoding in die UTF-8-Codierung und geben sie schließlich an die Front-End-Seite zurück.

Zusammenfassung

Wenn Sie während der Entwicklung auf das Problem chinesisch verstümmelter JSON-Daten stoßen, die von PHP zurückgegeben werden, können Sie die oben genannten Methoden ausprobieren, um es zu lösen. Durch Festlegen des Parameters JSON_UNESCAPED_UNICODE, Festlegen von Content-Type auf application/json oder Verwenden der Funktion mb_convert_encoding zum Konvertieren der Codierung können Sie das Auftreten verstümmelter chinesischer Zeichen wirksam vermeiden. Ich hoffe, dass die in diesem Artikel vorgestellte Methode Entwicklern mit ähnlichen Problemen helfen kann, damit die Eigenschaften chinesischer Schriftzeichen bei der Datenübertragung genau beibehalten werden können.

Das obige ist der detaillierte Inhalt vonMethoden zur Lösung des Problems chinesischer verstümmelter JSON-Daten in PHP. 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