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 变量定义和变量替换的方法
Jul 30 PHP
PHP如何利用P3P实现跨域
Aug 24 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
yii分页组件用法实例分析
Dec 28 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
PHP pear安装配置教程
May 14 PHP
PHP链表操作简单示例
Oct 15 PHP
微信公众平台开发(五) 天气预报功能开发
Dec 03 PHP
Yii2.0多文件上传实例说明
Jul 24 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
PHP7基于curl实现的上传图片功能
May 11 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 动态添加记录
2009/03/10 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
初学JavaScript第二章
2008/09/30 Javascript
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
jquery对象和DOM对象的任意相互转换
2016/02/21 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
用Python3创建httpServer的简单方法
2018/06/04 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
django query模块
2019/04/20 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
Python能做什么
2020/06/02 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
Python函数调用追踪实现代码
2020/11/27 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
教师节宣传方案
2014/05/23 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
嘉宾邀请函
2015/01/31 职场文书
幼师大班个人总结
2015/02/13 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL