有什么方法可以json_encode用编码UTF-8而不是Unicode 返回PHP ?
json_encode
$arr=array('a'=>'á'); echo json_encode($arr);
mb_internal_encoding('UTF-8');并$arr=array_map('utf8_encode',$arr);没有解决。
mb_internal_encoding('UTF-8');
$arr=array_map('utf8_encode',$arr);
结果: {"a":"\u00e1"}
{"a":"\u00e1"}
预期结果:{"a":"á"}
{"a":"á"}
{"a":"\u00e1"}并且{"a":"á"}是编写相同JSON文档的不同方法;JSON解码器将解码Unicode转义。
在php 5.4+中,php json_encode确实可以JSON_UNESCAPED_UNICODE选择纯输出。在较早的php版本上,您可以推出自己的不对非ASCII字符进行编码的 JSON编码器,或者使用Pear的 JSON编码器并将第349行删除为433。
JSON_UNESCAPED_UNICODE