Pendant le développement de PHP, JSON est fréquemment utilisé comme format d'échange de données couramment utilisé. Cependant, lorsque de nombreux développeurs traitent les données JSON contenant du contenu chinois, ils constatent que la page sortira du code brouillé chinois. La raison de ce phénomène est généralement liée à des paramètres d'encodage inappropriés. Cet article vous aidera à résoudre ce problème grâce à plusieurs méthodes courantes.
Avant de produire des données JSON, assurez-vous que l'en-tête de réponse correct est défini via la fonction d'en-tête de PHP et spécifiez explicitement le type de contenu et le codage des caractères.
header('Content-Type: application/json; charset=utf-8');
Cet en-tête de réponse indique au navigateur que le contenu renvoyé est au format JSON et est codé dans UTF-8, ce qui aide à éviter que les caractères chinois soient affichés comme brouillants sur le client.
Lorsque vous utilisez la fonction JSON_ENCODE par défaut, les caractères chinois seront codés par Unicode. En ajoutant le paramètre JSON_UNESCAPED_UNICODE , vous pouvez garder les Chinois tels qu'il est pour éviter le code brouillé.
$data = ['name' => 'Zhang San', 'age' => 25];
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
De cette façon, les caractères chinois dans la chaîne JSON de sortie ne seront pas échappés, garantissant ainsi leur affichage normal.
Dans certains scénarios spéciaux, même si l'en-tête de réponse et les paramètres de codage sont définis, il y a encore des codes brouillés. Vous pouvez essayer de convertir manuellement le codage de la chaîne JSON via la fonction MB_CONVERT_ENCODING .
$data = ['name' => 'Li si', 'age' => 30];
$json = json_encode($data);
// VolontéJSONChaîne deUTF-8Se tourner versGBKcodage
$json = mb_convert_encoding($json, 'GBK', 'UTF-8');
Ce code convient aux situations où le résultat doit être sorti dans un environnement de codage spécifique (comme GBK). Ajustement flexible de l'encodage cible en fonction des besoins réels de l'entreprise.
Le code brouillé chinois JSON est un problème commun mais facilement négligé dans le développement de PHP. En définissant l'en-tête de réponse, en utilisant raisonnablement les paramètres json_encode et en utilisant des fonctions de conversion de codage de caractères si nécessaire, le code brouillé peut être effectivement évité. Les développeurs doivent maintenir la cohérence du codage lors du traitement des données JSON pour s'assurer que les informations chinoises peuvent être affichées avec précision.
Étiquettes associées:
JSON