关于PHP json_decode中文转义的问题
程序员文章站
2022-03-04 12:40:51
...
php json decode转义的使用方法:首先使用语句“json_encode($a, JSON_UNESCAPED_UNICODE);”把特殊字符进行转义;然后通过该函数的第二个参数限制转义范围即可。
推荐:《PHP视频教程》
PHP json_decode中文转义的问题
默认情况下PHP的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式。在有些情况下不希望进行这种转义。
对于PHP5.4+版本,json_decode函数第二个参数,可以用来限制转义范围。要限制中文,使用JSON_UNESCAPED_UNICODE参数。
json_encode($a, JSON_UNESCAPED_UNICODE);
对于PHP5.3及以前版本,可以用如下方式转回中文:
$originstr = '{"name":"张三"}'; $jsonobject = json_decode($originstr); // badstr: {"name":"\u5f20\u4e09"} $badstr = json_encode($jsonobject); // goodstr: {"name":"张三"} $goodstr = preg_replace_callback("#\\\u([0-9a-f]{4})#i", function($matches){ return iconv('UCS-2', 'UTF-8', pack('H4', $matches[1])); }, $badstr);
以上就是关于PHP json_decode中文转义的问题的详细内容,更多请关注其它相关文章!
上一篇: 浅谈PHP中的多进程消费队列
下一篇: 详解PHP中的trim()函数