一尘不染

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

php

有什么方法可以返回json_encodeUTF-8编码而不是Unicode的PHP 吗?

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

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

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

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


阅读 240

收藏
2020-05-26

共1个答案

一尘不染

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

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

2020-05-26