有没有办法用编码UTF-8而不是Unicode返回PHP'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);
结果:{"a":"\u00e1"}
预期结果: {“a”:“á”}
有没有办法用编码UTF-8而不是Unicode返回PHP?json_encode
$arr=array('a'=>'á');
echo json_encode($arr);
mb_internal_encoding('UTF-8');
并且不会修复它。$arr=array_map('utf8_encode',$arr);
结果:{"a":"\u00e1"}
预期结果: {“a”:“á”}
{"a":"\u00e1"}
并且是编写相同JSON文档的不同方法;JSON 解码器将解码 unicode 转义。{"a":"á"}
在 php 5.4+ 中,php 确实可以选择纯输出。在较旧的 php 版本上,您可以推出自己的不编码非 ASCII 字符的 JSON 编码器,或者使用 Pear 的 JSON 编码器并删除第 349 行到第 433 行。json_encode
JSON_UNESCAPED_UNICODE
我解决了我的问题,这样做:
json_encode($array, JSON_UNESCAPED_UNICODE)
结果是一个编码为 ANSI 的 .json 文件,作为 UTF-8。