一尘不染

任何以编码UTF-8而不是Unicode返回PHP`json_encode`的方法吗?

json

有什么方法可以json_encode用编码UTF-8而不是Unicode 返回PHP ?

$arr=array('a'=>'á');
echo json_encode($arr);

mb_internal_encoding('UTF-8');$arr=array_map('utf8_encode',$arr);没有解决。

结果: {"a":"\u00e1"}

预期结果:{"a":"á"}


阅读 325

收藏
2020-07-27

共1个答案

一尘不染

{"a":"\u00e1"}并且{"a":"á"}是编写相同JSON文档的不同方法;JSON解码器将解码Unicode转义。

在php 5.4+中,php
json_encode确实可以JSON_UNESCAPED_UNICODE选择纯输出。在较早的php版本上,您可以推出自己的不对非ASCII字符进行编码
JSON编码器,或者使用Pear的
JSON编码器并将第349行删除为433。

2020-07-27