Maison >développement back-end >Problème PHP >Convertir un tableau php en json pour filtrer le chinois

Convertir un tableau php en json pour filtrer le chinois

WBOY
WBOYoriginal
2023-05-19 09:00:37605parcourir

En développement web, il est souvent nécessaire de convertir des tableaux au format PHP au format JSON afin de charger dynamiquement des données sur la page. Cependant, lors du processus de conversion du tableau en JSON, des problèmes d'encodage chinois peuvent survenir, empêchant l'affichage correct des données. Cet article explique comment filtrer les problèmes d'encodage chinois lors du processus de conversion des tableaux PHP en JSON pour garantir que les données s'affichent normalement sur la page.

1. Convertir un tableau PHP en JSON

En PHP, utilisez la fonction json_encode() pour convertir un tableau au format JSON. Par exemple, si vous avez le tableau suivant :

$arr = array(
  "name" => "张三",
  "age" => 25,
  "gender" => "男"
);

Vous pouvez le convertir au format JSON grâce au code suivant :

$json = json_encode($arr);
echo $json; // 输出:{"name":"张三","age":25,"gender":"男"}

2. Problème d'encodage chinois

Cependant, lorsque le tableau contient des caractères chinois, le format JSON converti peut être question codée. Par exemple, convertissez le tableau suivant au format JSON :

$arr = array(
  "name" => "李四",
  "age" => 30,
  "gender" => "男",
  "desc" => "这是一个描述,包含中文字符"
);

Utilisez la fonction json_encode() pour le convertir au format JSON :

$json = json_encode($arr);
echo $json; // 输出:{"name":"u674eu56db","age":30,"gender":"u7537","desc":"u8fd9u662fu4e00u4e2au63cfu8ff0uff0cu5305u542bu4e2du6587u5b57u7b26"}

Comme vous pouvez le constater, les caractères chinois sont codés en caractères Unicode et ne peuvent pas être affichés correctement sur la page. . En effet, par défaut, la fonction json_encode() encode les caractères non-ASCII en caractères Unicode pour le transfert de données entre différentes plates-formes.

3. Filtrer le chinois

Afin de résoudre le problème d'encodage chinois, vous pouvez utiliser le paramètre JSON_UNESCAPED_UNICODE pour filtrer les caractères chinois. Ce paramètre permet à la fonction json_encode() de ne pas encoder les caractères chinois en caractères Unicode lors de la conversion JSON, mais de générer directement des caractères chinois.

Modifiez le code ci-dessus comme suit :

$json = json_encode($arr, JSON_UNESCAPED_UNICODE);
echo $json; // 输出:{"name":"李四","age":30,"gender":"男","desc":"这是一个描述,包含中文字符"}

Vous pouvez voir que les caractères chinois ont été générés comme les autres caractères et peuvent être affichés normalement sur la page.

4. Résumé

Lors de la conversion d'un tableau PHP au format JSON, si le tableau contient des caractères chinois, vous devez faire attention aux problèmes d'encodage chinois. Vous pouvez utiliser le paramètre JSON_UNESCAPED_UNICODE pour filtrer les caractères chinois afin de garantir que les données s'affichent normalement sur la page.

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!

Déclaration:
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