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 相关文章推荐
PHP 应用程序的安全 -- 不能违反的四条安全规则
Nov 26 PHP
php中删除字符串中最先出现某个字符的实现代码
Feb 03 PHP
php 使用GD库为页面增加水印示例代码
Mar 24 PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 PHP
php中adodbzip类实例
Dec 08 PHP
php操作MongoDB类实例
Jun 17 PHP
分享php多功能图片处理类
May 15 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
Oct 08 PHP
thinkphp分页实现效果
Oct 13 PHP
php-fpm服务启动脚本的方法
Apr 27 PHP
PHP 观察者模式深入理解与应用分析
Sep 25 PHP
PHP实现本地图片转base64格式并上传
May 29 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
绿山咖啡和蓝山咖啡
2021/03/04 新手入门
Phpbean路由转发的php代码
2008/01/10 PHP
php 调用远程url的六种方法小结
2009/11/02 PHP
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
php 传值赋值与引用赋值的区别
2010/12/29 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
在chrome中window.onload事件的一些问题
2010/03/01 Javascript
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
jQuery下的动画处理总结
2013/10/10 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
JS实现支持Ajax验证的表单插件
2016/03/24 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
在Vue项目中引入腾讯验证码服务的教程
2018/04/03 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
Python 自动化表单提交实例代码
2017/06/08 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
Python中base64与xml取值结合问题
2019/12/22 Python
pymysql 插入数据 转义处理方式
2020/03/02 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
python 制作本地应用搜索工具
2021/02/27 Python
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
如何用Python来进行查询和替换一个文本字符串
2014/01/02 面试题
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫