【发布时间】:2011-02-03 23:21:09
【问题描述】:
我正在使用带有 unicode 文本的 json,但 IE8 原生 json 实现存在问题。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
var stringified = JSON.stringify("สวัสดี olé");
alert(stringified);
</script>
使用 json2.js 或 FireFox 原生 json,alert() 字符串与原始字符串相同。另一方面,IE8 返回 Unicode 值而不是原始文本 \u0e2a\u0e27\u0e31\u0e2a\u0e14\u0e35 ol\u00e9 。有没有一种简单的方法可以让 IE 表现得像其他人一样,或者将此字符串转换为应有的方式?您是否会将其视为 IE 中的错误,我认为本机 json 实现应该是 json2.js 的直接替代品?
编辑:使用上述代码对 jsfiddle 进行复制 - http://jsfiddle.net/vV4uz/
【问题讨论】:
-
这是 Internet Explorer 中的一个明显错误:JSON 应被视为 unicode 编码,请参阅 RFC 4627
标签: javascript json internet-explorer unicode encoding