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
MySQL GBK→UTF-8编码转换
May 24 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
PHP 图片文件上传实现代码
Dec 29 PHP
PHP缓存技术的使用说明
Aug 06 PHP
thinkphp循环结构用法实例
Nov 24 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
php使用Jpgraph创建3D饼形图效果示例
Feb 15 PHP
php 中的closure用法详解
Jun 12 PHP
PHP按符号截取字符串的指定部分的实现方法
Sep 10 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 PHP
tp5.1 框架join方法用法实例分析
May 26 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中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
JS、jquery实现几分钟前、几小时前、几天前等时间差显示效果的代码实例分享
2014/04/11 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
用原生js做单页应用
2017/01/17 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
函数式编程入门实践(一)
2019/04/20 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
2019/10/16 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
Ant Design Pro 之 ProTable使用操作
2020/10/31 Javascript
探究python中open函数的使用
2016/03/01 Python
python实现大量图片重命名
2020/03/23 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
六查六看自查材料
2014/02/17 职场文书
股权转让协议书
2014/04/12 职场文书
南极大冒险观后感
2015/06/05 职场文书
中秋节感想
2015/08/10 职场文书
团支部书记竞选稿
2015/11/21 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书