2010-10-25 5 views
0

J'utilise JSON_ENCODE en PHP pour sortir des données. Quand il arrive à ce mot: Æther il sort \u00c6ther. Quelqu'un sait-il comment rendre json ce caractère ou est-ce que je vais devoir changer le texte pour ne pas avoir ce caractère dedans?PHP JSON_Encode caractères étranges?

Répondre

5

C'est la version unicode du personnage. JavaScript devrait le gérer correctement. Vous remarquerez la barre oblique avant, ce qui signifie que c'est une séquence d'échappement. Le u indique qu'il s'agit d'un point de code Unicode et que les chiffres hexadécimaux représentent le caractère réel. Pour plus d'informations, voir here.

3

Cela fonctionne comme spécifié. Le RFC (http://www.ietf.org/rfc/rfc4627.txt) indique que un caractère peut être échappé, et votre caractère imprimable moyen peut être écrit au format \uXXXX.

Tout analyseur JSON qui ne peut pas comprendre un caractère échappé de cette manière n'est pas conforme à la norme. Travaillez à résoudre ce problème plutôt que d'essayer de persuader PHP de se comporter aussi mal.

(Il est juridique de mettre caractères UTF-8 dans les chaînes JSON sans les échapper ainsi, à quelques exceptions près, mais l'approche sûre d'échapper à quoi que ce soit douteux est sage.)

Questions connexes