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怎样调用MSSQL的存储过程
Oct 09 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
PHP Session 变量的使用方法详解与实例代码
Sep 11 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
php调用shell的方法
Nov 05 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
Mar 17 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
Yii框架中使用PHPExcel的方法分析
Jul 25 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 PHP
Laravel配合jwt使用的方法实例
Oct 25 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
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
学习ExtJS Panel常用方法
2009/10/07 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
使用vue-resource进行数据交互的实例
2017/09/02 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
Web安全之XSS攻击与防御小结
2018/12/13 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
Scrapy抓取京东商品、豆瓣电影及代码分享
2017/11/23 Python
Python实现字符串匹配算法代码示例
2017/12/05 Python
python抓取文件夹的所有文件
2018/02/27 Python
python设置值及NaN值处理方法
2018/07/03 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
丝芙兰意大利官方网站:Sephora.it
2019/12/13 全球购物
社区中秋节活动方案
2014/01/29 职场文书
10的分与合教学反思
2014/04/30 职场文书
食品工程专业求职信
2014/06/15 职场文书
培训科主任岗位职责
2014/08/08 职场文书
员工团队活动方案
2014/08/28 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
房屋转让协议书
2014/10/18 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏