json_encode解码utf8:
$arr = Array(
'name' => 'ბინტი',
'count' => '15');
$result = utf8_encode(json_encode($arr));
echo $result;
结果是
{"name":"\u10d1\u10d8\u10dc\u10e2\u10d8","count":"15"}
任何人都可以帮忙吗? P.S 对不起外语,我无法发布带有正确标题的问题
答案 0 :(得分:1)
这是完全可以预料到的。具有奇异字符的外语不适合基本ASCII,因此JSON使用一些编码序列(\u
+ 4个十六进制(unicode序列))来表示您的字符。解码时,unicode序列被转换回真正的unicode字符。
这样做的好处是,在存储和读取JSON时不会出现编码问题。
答案 1 :(得分:0)
我测试了你的角色,使用这个javascript代码:
<script type="text/javascript">
var a = "\u10d1\u10d8\u10dc\u10e2\u10d8"
alert(a);
</script>
Firefox打印了这条消息:
如您所见,您的格鲁吉亚角色还可以。所以,json_encode
工作正常。顺便说一句:
$result = json_encode($arr);
产生与
相同的结果$result = utf8_encode(json_encode($arr));