PHP实现json_decode不转义中文的方法


Posted in PHP onMay 20, 2017

本文实例讲述了PHP实现json_decode不转义中文的方法。分享给大家供大家参考,具体如下:

默认情况下PHP的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式。

这使得数据库查看文本变得很麻烦。所以我们需要限制对于中文的转义。

对于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');
}
PHP 相关文章推荐
BBS(php & mysql)完整版(八)
Oct 09 PHP
基于mysql的bbs设计(四)
Oct 09 PHP
模板引擎正则表达式调试小技巧
Jul 20 PHP
PHPEXCEL 使用小记
Jan 06 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
一个PHP的ZIP压缩类分享
May 04 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
Laravel中任务调度console使用方法小结
May 07 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
基于PHP的登录和注册的功能的实现
Aug 06 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
May 20 #PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 #PHP
Yii框架实现的验证码、登录及退出功能示例
May 20 #PHP
利用Laravel事件系统如何实现登录日志的记录详解
May 20 #PHP
Yii框架实现图片上传的方法详解
May 20 #PHP
Yii框架分页实现方法详解
May 20 #PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 #PHP
You might like
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
php下获取客户端ip地址的函数
2010/03/15 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
jQuery 1.0.2
2006/10/11 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
AngularJS表单编辑提交功能实例
2015/02/13 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
jQuery的框架介绍
2016/05/11 Javascript
javascript学习之json入门
2016/12/22 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
jQuery轮播图实例详解
2018/08/15 jQuery
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
python调用OpenCV实现人脸识别功能
2018/05/25 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
QML使用Python的函数过程解析
2019/09/26 Python
Django重设Admin密码过程解析
2020/02/10 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
中专生自荐信
2013/10/12 职场文书
农场厂长岗位职责
2013/12/28 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python
欧元符号 €
2022/02/17 杂记
Python 图片添加美颜效果
2022/04/28 Python