"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment encoder correctement les caractères spéciaux en JSON avec la fonction json_encode() de PHP ?

Comment encoder correctement les caractères spéciaux en JSON avec la fonction json_encode() de PHP ?

Publié le 2024-11-17
Parcourir:289

How to Correctly Encode Special Characters in JSON with PHP\'s json_encode() Function?

Encodage JSON et caractères spéciaux

Lors de l'encodage de tableaux à l'aide de la fonction json_encode(), il peut arriver que des éléments contenant des caractères spéciaux soient convertis en chaînes vides. Ce comportement est particulièrement visible avec des caractères tels que les symboles de droit d'auteur ou de marque.

Pour résoudre ce problème, assurez-vous que toutes les données de chaîne sont codées en UTF-8 avant de les coder au format JSON. Ceci peut être réalisé en utilisant array_map() en conjonction avec la fonction utf8_encode() :

$arr = array_map('utf8_encode', $arr);
$json = json_encode($arr);

Comme indiqué dans le manuel PHP, json_encode() nécessite que toutes les données de chaîne soient codées en UTF-8. En codant les éléments du tableau en UTF-8 avant l'encodage JSON, nous garantissons que les caractères spéciaux sont correctement représentés dans la sortie JSON.

Pour plus de clarté, comparons les résultats de l'encodage d'un tableau avec et sans UTF-8. encodage :

Sans encodage UTF-8 :

$arr = ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"];
$json = json_encode($arr); // {"funds":null}

Avec encodage UTF-8 :

$arr = array_map('utf8_encode', ["funds" => "ComStage STOXX®Europe 600 Techn NR ETF"]);
$json = json_encode($arr); // {"funds":"ComStage STOXX\u00c2\u00aeEurope 600 Techn NR ETF"}

En appliquant l'encodage UTF-8, les caractères spéciaux sont correctement représentés dans la sortie JSON. N'oubliez pas d'utiliser utf8_encode() de manière cohérente pour un encodage correct.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729242557. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3