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 安全过滤函数代码
May 07 PHP
php的大小写敏感问题整理
Dec 29 PHP
PHP数据流应用的一个简单实例
Sep 14 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
基于PHP实现通过照片获取ip地址
Apr 26 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
Laravel框架Request、Response及Session操作示例
May 06 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
Jan 23 PHP
TP5框架安全机制实例分析
Apr 05 PHP
PHP 对象继承原理与简单用法示例
Apr 21 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 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以ROOT权限执行系统命令的方法
2011/02/10 PHP
PHP中英混合字符串截取函数代码
2011/07/17 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
JavaScript中的其他对象
2008/01/16 Javascript
Prototype Array对象 学习
2009/07/19 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
2016/12/22 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
Python实现简单的可逆加密程序实例
2015/03/05 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
2018/02/06 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
python远程连接MySQL数据库
2019/04/19 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
机电专业大学生职业规划书范文
2014/02/25 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
2015年英语教师工作总结
2015/05/20 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS