Maison >développement back-end >tutoriel php >La méthode PHP json_decode ne peut pas analyser le caractère spécial du point d'interrogation

La méthode PHP json_decode ne peut pas analyser le caractère spécial du point d'interrogation

一个新手
一个新手original
2017-10-25 13:09:112222parcourir

Lorsque vous demandez des informations via les interfaces d'autres personnes, vous pouvez parfois rencontrer certains caractères, comme la situation suivante, et json_decode renverra null

Cependant, cette situation n'est généralement pas due au problème d'encodage global. lors de l'analyse, il est analysé en codage utf-8

Dans ce cas, le chinois et l'anglais coexistent généralement, mais certains caractères vides ne peuvent pas être reconnus.

Grâce à l'observation de la logique du système, cela devrait être dû à la présence de caractères qui ne sont pas reconnus par utf-8 lors de l'enregistrement des caractères dans la section précédente. Cette situation n'est pas affectée dans json_encode, donc directement. mène à l'interface pour obtenir des données. Lorsqu'un caractère illégal

apparaît, la solution :

$return_data=mb_convert_encoding($return_data, "UTF-8","UTF-8");

effectue un encodage forcé sur les caractères renvoyés via la requête curl. Le texte original codé en utf-8 ne sera pas affecté, les caractères qui ne peuvent pas être reconnus par utf-8 seront forcés d'être analysés et les caractères analysés deviendront des symboles anglais ?,

De cette façon, json_decode peut être facilement effectué

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