PHP实现json_decode不转义中⽂的⽅法
本⽂实例讲述了PHP实现json_decode不转义中⽂的⽅法。分享给⼤家供⼤家参考,具体如下:
默认情况下PHP的 json_decode ⽅法会把特殊字符进⾏转义,还会把中⽂转为Unicode编码形式。
这使得数据库查看⽂本变得很⿇烦。所以我们需要限制对于中⽂的转义。
phpjson格式化输出对于PHP5.4+版本,json_decode函数第⼆个参数,可以⽤来限制转义范围。
要限制中⽂,使⽤JSON_UNESCAPED_UNICODE参数。
json_encode($a, JSON_UNESCAPED_UNICODE);
对于PHP5.3版本,可以先把ASCII 127以上的字符转换为HTML数值,这样避免被json_decode函数转码:
function my_json_encode($arr)
{
/
/convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127). So such characters are being "hidden" from normal json_encoding array_walk_recursive($arr, function (&$item, $key) { if (is_string($item)) $item = mb_encode_numericentity($item, array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); }); return mb_decode_numericentity(json_encode($arr), array (0x80, 0xffff, 0, 0xffff), 'UTF-8');
}
PS:这⾥再为⼤家推荐⼏款⽐较实⽤的json在线⼯具供⼤家参考使⽤:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》
希望本⽂所述对⼤家PHP程序设计有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论