我在PHP中使用JSON_ENCODE来输出数据。
当达到这个词时:Æther
它会输出\u00c6ther
。
任何人都知道如何让json输出该字符,或者我是否必须将文本更改为不包含该字符?
答案 0 :(得分:5)
这是该角色的unicode版本。 JavaScript应该正确处理它。你会注意到它之前的斜线,这意味着它是一个转义序列。 u
表示它是一个unicode代码点,十六进制数字表示实际字符
有关详细信息,请参阅here。
答案 1 :(得分:3)
这是按照规定工作的。 RFC(http://www.ietf.org/rfc/rfc4627.txt)表示可以转义 任何 字符,并且您的平均可打印字符可以采用\uXXXX
格式编写。
任何无法理解以这种方式转义的字符的JSON解析器都不符合标准。努力解决这个问题,而不是试图让PHP陷入行为不端的行为。
(是合法地将UTF-8字符放入JSON字符串而不转义它们,除了少数例外情况,但是逃避任何可疑问题的安全方法是明智的。)