PHP Json_Encode странных символов? - PullRequest
0 голосов
/ 26 октября 2010

Я использую JSON_ENCODE в PHP для вывода данных. Когда доходит до этого слова: Æther выводит \u00c6ther.

Кто-нибудь знает способ заставить json выводить этот символ, или мне придется изменить текст, чтобы в нем не было этого символа?

Ответы [ 2 ]

5 голосов
/ 26 октября 2010

Это версия персонажа в юникоде. JavaScript должен обрабатывать это правильно. Вы заметите косую черту перед ней, что означает, что это escape-последовательность. u указывает, что это кодовая точка Unicode, а шестнадцатеричные цифры представляют фактический символ.
См. здесь для получения дополнительной информации.

3 голосов
/ 26 октября 2010

Это работает, как указано.RFC (http://www.ietf.org/rfc/rfc4627.txt) указывает, что любой символ может быть экранирован, а ваш средний печатный символ может быть записан в формате \uXXXX.

Любой анализатор JSON, который не может понять символ, экранированный таким образом, не соответствует стандарту.Работайте над решением этой проблемы, вместо того, чтобы пытаться заставить PHP плохо себя вести.

(Это законно, чтобы помещать символы UTF-8 в строки JSON, не экранируя их, с несколькимиисключения, но безопасный способ избежать чего-либо сомнительного - мудрый.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...