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 相关文章推荐
我的论坛源代码(二)
Oct 09 PHP
PHP 危险函数全解析
Sep 09 PHP
PHP基础知识回顾
Aug 16 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
Thinkphp使用mongodb数据库实现多条件查询方法
Jun 26 PHP
百度地图API使用方法详解
Aug 25 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
nginx下安装php7+php5
Jul 31 PHP
浅谈php中变量的数据类型判断函数
Mar 04 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 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
PHP 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
实用函数7
2007/11/08 PHP
PHP与javascript实现变量交互的示例代码
2013/07/23 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
python调用java的Webservice示例
2014/03/10 Python
python基础教程项目二之画幅好画
2018/04/02 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
Python3 assert断言实现原理解析
2020/03/02 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
印度在线购物网站:Paytmmall
2019/07/24 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
普通员工辞职信
2014/01/17 职场文书
新闻编辑自荐书范文
2014/02/12 职场文书
初中物理教学反思
2016/02/19 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android
vue3语法糖内的defineProps及defineEmits
2022/04/14 Vue.js
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python