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.
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