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 相关文章推荐
十天学会php之第八天
Oct 09 PHP
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
php _autoload自动加载类与机制分析
Feb 10 PHP
php遍历目录与文件夹的多种方法详解
Nov 14 PHP
根据中文裁减字符串函数的php代码
Dec 03 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
php 实现进制相互转换
Apr 07 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
简单谈谈PHP面向对象之标识对象
Jun 27 PHP
PHP回调函数简单用法示例
May 08 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
May 02 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
php四种基础算法代码实例
2013/10/29 PHP
php之curl设置超时实例
2014/11/03 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
PHP检测用户语言的方法
2015/06/15 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
2016/10/11 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
JavaScript Cookie的读取和写入函数
2009/12/08 Javascript
JavaScript中getUTCMinutes()方法的使用详解
2015/06/10 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
前端性能优化建议
2020/09/17 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
在pycharm中debug 实时查看数据操作(交互式)
2020/06/09 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
2015年出纳年终工作总结
2015/05/14 职场文书
css3新特性的应用示例分析
2022/03/16 HTML / CSS