有没有办法返回PHP json_encode编码UTF-8而不是Unicode?
$arr=array('a'=>'á');
echo json_encode($arr);
Run Code Online (Sandbox Code Playgroud)
mb_internal_encoding('UTF-8');并$arr=array_map('utf8_encode',$arr);没有解决它.
结果: {"a":"\u00e1"}
预期结果: {"a":"á"}
ant*_*iom 31
这个功能在这里找到,对我来说很好
function jsonRemoveUnicodeSequences($struct) {
return preg_replace("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))", json_encode($struct));
}
Run Code Online (Sandbox Code Playgroud)
小智 27
我这样解决了我的问题:
json_encode($array, JSON_UNESCAPED_UNICODE)用来编码数据;结果是.json文件编码为ANSI为UTF-8.