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 相关文章推荐
Ajax PHP分页演示
Jan 02 PHP
在php MYSQL中插入当前时间
Apr 06 PHP
PHP 高级课程笔记 面向对象
Jun 21 PHP
PHP 日常开发小技巧
Sep 23 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
php中spl_autoload详解
Oct 17 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
php 的反射详解及示例代码
Aug 25 PHP
php smtp实现发送邮件功能
Jun 22 PHP
PHP智能识别收货地址信息实例
Jan 05 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
PHPlet在Windows下的安装
2006/10/09 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
js 限制数字 js限制输入实现代码
2012/12/04 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
2017/01/06 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
webpack 从指定入口文件中提取公共文件的方法
2018/11/13 Javascript
mpvue开发音频类小程序踩坑和建议详解
2019/03/12 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
Python3 模块、包调用&路径详解
2017/10/25 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
Python实现随机爬山算法
2021/01/29 Python
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
医院办公室主任职责
2013/12/29 职场文书
护士辞职信范文
2014/01/19 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
招标保密承诺书
2015/01/20 职场文书
办公室禁烟通知
2015/04/23 职场文书
党员理论学习心得体会
2016/01/21 职场文书
Java 数据结构七大排序使用分析
2022/04/02 Java/Android
nginx搭建NFS网络文件系统
2022/04/14 Servers