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 相关文章推荐
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
source.php查看源文件
Dec 09 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
基于xcache的配置与使用详解
Jun 18 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
Jun 19 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
PHP、Java des加密解密实例
Apr 27 PHP
实例讲解php数据访问
May 09 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
Nov 20 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 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
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
2016/09/30 PHP
PHP实现统计所有字符在字符串中出现次数的方法
2017/10/17 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
判断用户的在线状态 onbeforeunload事件
2011/03/05 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
jQuery中prev()方法用法实例
2015/01/08 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
JavaScript页面加载事件实例讲解
2019/09/01 Javascript
原生js实现购物车
2020/09/23 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
python根据出生日期获得年龄的方法
2015/03/31 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
Python----数据预处理代码实例
2019/03/20 Python
python zip()函数使用方法解析
2019/10/31 Python
mac在matplotlib中显示中文的操作方法
2020/03/06 Python
Python reversed函数及使用方法解析
2020/03/17 Python
python如何对链表操作
2020/10/10 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
中专毕业生自我鉴定
2014/02/02 职场文书
亲子拓展活动方案
2014/02/20 职场文书
学生上课说话检讨书
2014/10/25 职场文书
运动会通讯稿300字
2015/07/20 职场文书
团队拓展训练感想
2015/08/07 职场文书
合作合同协议书
2016/03/21 职场文书
如何写好闭幕词
2019/04/02 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python