php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案


Posted in PHP onMay 31, 2016

PHP5.4才支持JSON_UNESCAPED_UNICODE这个参数,此参数是让中文字符在json_encode的时候不用转义,减少数据传输量。但在PHP5.3中,就得自己写个函数来实现,以下就是解决方法:

/**
* 对变量进行 JSON 编码
* @param mixed value 待编码的 value ,除了resource 类型之外,可以为任何数据类型,该函数只能接受 UTF-8 编码的数据
* @return string 返回 value 值的 JSON 形式
*/
function json_encode_ex($value)
{
 if (version_compare(PHP_VERSION,'5.4.0','<'))
 {
  $str = json_encode($value);
  $str = preg_replace_callback(
         "#\\\u([0-9a-f]{4})#i",
         function($matchs)
         {
           return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1]));
         },
          $str
         );
  return $str;
 }
 else
 {
  return json_encode($value, JSON_UNESCAPED_UNICODE);
 }
}

判断PHP的版本,如果低于5.4则使用自定义函数来实现,如果是5.4及以上版本则使用JSON_UNESCAPED_UNICODE。

以上就是php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案 ,希望能给大家一个参考,了解更多PHP的语法,大家可以关注《PHP5在线手册》,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
discuz安全提问算法
Jun 06 PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
PHP魔术方法使用方法汇总
Feb 14 PHP
PHP实现支持加盐的图片加密解密
Sep 09 PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
php微信开发之关注事件
Jun 14 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP中的访问修饰符简单比较
Feb 02 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
Mar 14 PHP
让你的PHP7更快之Hugepage用法分析
May 31 #PHP
PHP表单数据写入MySQL数据库的代码
May 31 #PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
May 30 #PHP
PHP如何实现跨域
May 30 #PHP
php while循环控制的简单实例
May 30 #PHP
Yii2中如何使用modal弹窗(基本使用)
May 30 #PHP
[原创]php求圆周率的简单实现方法
May 30 #PHP
You might like
基于PHPExcel的常用方法总结
2013/06/13 PHP
php中session退出登陆问题
2014/02/27 PHP
使用PHP函数scandir排除特定目录
2014/06/12 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
深入探寻javascript定时器
2015/01/02 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
Django rest framework工具包简单用法示例
2018/07/20 Python
Python多进程原理与用法分析
2018/08/21 Python
Laravel框架表单验证格式化输出的方法
2019/09/25 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
编程用JAVA解析XML的方式
2013/07/07 面试题
中文专业毕业生自荐信
2013/10/28 职场文书
外贸英语专业求职信范文
2013/12/25 职场文书
党员思想汇报范文
2013/12/30 职场文书
行政管理毕业生自荐信
2014/02/24 职场文书
收款委托书范本
2014/09/11 职场文书
2014年保险公司工作总结
2014/11/22 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
关于迟到的检讨书
2015/05/06 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python