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 防止单引号,双引号在接受页面转义
Jul 10 PHP
PHP 中文乱码解决办法总结分析
Jul 30 PHP
php5 图片验证码实现代码
Dec 11 PHP
PHPMailer邮件发送的实现代码
May 04 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
PHP访问Google Search API的方法
Mar 05 PHP
Yii2前后台分离及migrate使用(七)
May 04 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
PHP数组相加操作及与array_merge的区别浅析
Nov 26 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 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
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
jQuery实现鼠标移到元素上动态提示消息框效果
2013/10/20 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
angularjs实现分页和搜索功能
2018/01/03 Javascript
JS加密插件CryptoJS实现AES加密操作示例
2018/08/16 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
解决Python selenium get页面很慢时的问题
2019/01/30 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
九年级英语教学反思
2014/01/31 职场文书
ktv总经理岗位职责
2014/02/17 职场文书
考核评语大全
2014/04/29 职场文书
感恩教育活动总结
2014/05/05 职场文书
国旗下演讲稿
2014/05/08 职场文书
刑事辩护授权委托书范本
2014/10/17 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
大学生自荐信范文
2015/03/05 职场文书
教你一步步实现一个简易promise
2021/11/02 Javascript
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
使用CSS实现音波加载效果
2023/05/07 HTML / CSS