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 相关文章推荐
实时抓取YAHOO股票报价的代码
Oct 09 PHP
PHP 面向对象实现代码
Nov 11 PHP
PHP 编程安全性小结
Jan 08 PHP
PHP 中文处理技巧
Apr 25 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
php生成略缩图代码
Jul 16 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
Nov 23 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
Oct 03 PHP
php 命名空间(namespace)原理与用法实例小结
Nov 13 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防注
2007/01/15 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php函数mkdir实现递归创建层级目录
2016/10/27 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
PHP实现打包下载文件的方法示例
2017/10/07 PHP
JS 控件事件小结
2012/10/31 Javascript
javascript中encodeURI和decodeURI方法使用介绍
2013/05/06 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
vue2使用keep-alive缓存多层列表页的方法
2018/09/21 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
python中的列表推导浅析
2014/04/26 Python
Python sys.argv用法实例
2015/05/28 Python
Python的时间模块datetime详解
2017/04/17 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
2018/12/18 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
python 回溯法模板详解
2020/02/26 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
优秀管理者事迹材料
2014/05/22 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电