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
打造计数器DIY三步曲(中)
Oct 09 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
Jan 27 PHP
php数据库抽象层 PDO
May 07 PHP
解析使用ThinkPHP应该掌握的调试手段
Jun 20 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
PHP多进程编程总结(推荐)
Jul 18 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
May 13 PHP
php面向对象程序设计入门教程
Jun 22 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
Apr 27 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
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
动态新闻发布的实现及其技巧
2006/10/09 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
javascript 必知必会之closure
2009/09/21 Javascript
jquery 注意事项与常用语法小结
2010/06/07 Javascript
Javascript对象属性方法汇总
2013/11/21 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
JavaScript仿百度图片浏览效果
2016/11/23 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
微信小程序实现判断是分享到群还是个人功能示例
2019/05/03 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
React Ant Design树形表格的复杂增删改操作
2020/11/02 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
Python做文本按行去重的实现方法
2016/10/19 Python
详解python读取image
2019/04/03 Python
将Pytorch模型从CPU转换成GPU的实现方法
2019/08/19 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
C和C++经典笔试题附答案解析
2014/08/18 面试题
农村党支部先进事迹
2014/01/14 职场文书
行政专员求职信范文
2014/05/03 职场文书
公司任命书模板
2014/06/06 职场文书
安全施工责任书
2014/08/25 职场文书
民间借贷协议书范本
2014/10/01 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
优质服务标语口号
2015/12/26 职场文书