有什么方法可以返回json_encodeUTF-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+中,phpjson_encode的确可以JSON_UNESCAPED_UNICODE选择普通输出。在较早的php版本上,您可以推出自己的不对非ASCII字符进行编码的JSON编码器,或者使用Pear的JSON编码器并将第349行删除为433。
JSON_UNESCAPED_UNICODE