PHP Json_Encode奇怪的字符?

时间:2010-10-25 21:44:28

标签: php json

我在PHP中使用JSON_ENCODE来输出数据。 当达到这个词时:Æther它会输出\u00c6ther

任何人都知道如何让json输出该字符,或者我是否必须将文本更改为不包含该字符?

2 个答案:

答案 0 :(得分:5)

这是该角色的unicode版本。 JavaScript应该正确处理它。你会注意到它之前的斜线,这意味着它是一个转义序列。 u表示它是一个unicode代码点,十六进制数字表示实际字符 有关详细信息,请参阅here

答案 1 :(得分:3)

这是按照规定工作的。 RFC(http://www.ietf.org/rfc/rfc4627.txt)表示可以转义 任何 字符,并且您的平均可打印字符可以采用\uXXXX格式编写。

任何无法理解以这种方式转义的字符的JSON解析器都不符合标准。努力解决这个问题,而不是试图让PHP陷入行为不端的行为。

合法地将UTF-8字符放入JSON字符串而不转义它们,除了少数例外情况,但是逃避任何可疑问题的安全方法是明智的。)