Maison > développement back-end > Problème PHP > Comment convertir php json en chinois

Comment convertir php json en chinois

藏色散人
Libérer: 2023-03-12 16:32:01
original
3498 Les gens l'ont consulté

Comment convertir php json en chinois : 1. Urlencode le champ chinois 2. Utilisez la fonction json_encode pour encoder ; 3. Utilisez urldecode pour traiter le résultat.

Comment convertir php json en chinois

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3

Comment convertir php json en chinois ? Comment PHP convertit-il normalement les chaînes au format json chinois ? Comment convertir les chaînes au format json ? Deux fonctions sont fournies dans le manuel PHP :

json_encode : Encodage JSON des variables

json_decode : Encodage des chaînes de caractères au format JSON

Regardons un exemple. ci-dessous :

 $arr = ['a', 'b', 'c'];echo json_encode($arr);
Copier après la connexion

Le résultat est :

["a","b","c"]
Copier après la connexion

Cependant, lorsque nous mettons des caractères chinois dans le tableau, des problèmes surviendront :

 $arr = [    '世界',    '你好',];echo json_encode($arr);
Copier après la connexion

Le résultat de sortie est :

["\u4e16\u754c","\u4f60\u597d"]
Copier après la connexion

Ce résultat n'est évidemment pas ce que nous voulons, mais pourquoi cela arriver? Parce que lorsque notre valeur contient du chinois, lorsque PHP effectue un encodage json dessus, la couche inférieure effectuera un encodage unicode sur le chinois, rendant le résultat illisible

Alors, comment le résoudre ?

Méthode 1

Vous pouvez utiliser les méthodes urlencode et urldecode pour contourner le processus de transcodage en unicode. Commencez par urlencode le champ chinois, puis json_encode, et enfin utilisez urldecode pour traiter le résultat, afin que le chinois puisse être affiché normalement. Le code spécifique est le suivant :

 $arr = [    '世界',    '你好',];echo urldecode(json_encode(array_map('urlencode', $arr)));
Copier après la connexion

Le résultat de sortie est :

["世界","你好"]
Copier après la connexion
Copier après la connexion

Méthode 2

Depuis la version PHP5.4, le responsable a ajouté une nouvelle option à Json : JSON_UNESCAPED_UNICODE. Après avoir ajouté cette option, le chinois ne sera pas automatiquement codé. Le code spécifique est le suivant :

 $arr = [    '世界',    '你好',];echo json_encode($arr, JSON_UNESCAPED_UNICODE);
Copier après la connexion

Le résultat est :

["世界","你好"]
Copier après la connexion
Copier après la connexion

Regardez, c'est le résultat que nous voulons :)

Remarque

Ce à quoi nous devons faire attention, c'est que puisque json_encode et json_decode ne prennent en charge que utf-8 caractères codés, si vous souhaitez utiliser la fonction json pour les caractères gbk, vous devez les convertir.

Apprentissage recommandé : "

Tutoriel vidéo PHP

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal