php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案

 更新时间:2016年05月31日 11:25:33   作者:快乐无极  
本文主要介绍针对PHP5.4以下版本的json_encode不兼容JSON_UNESCAPED_UNICODE的处理,需要的朋友可以参考下。

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在线手册》,也希望大家多多支持脚本之家。

相关文章

  • THINKPHP跨域报错的解决方案

    THINKPHP跨域报错的解决方案

    这篇文章主要介绍了THINKPHP跨域报错has been blocked by CORS policy: Response to preflight request doesn't pass access control check的解决方案,文中通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • phpmyadmin中禁止外网使用的方法

    phpmyadmin中禁止外网使用的方法

    这篇文章主要介绍了phpmyadmin中禁止外网使用的方法,涉及对配置文件的修改,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • php从数组中随机选择若干不重复元素的方法

    php从数组中随机选择若干不重复元素的方法

    这篇文章主要介绍了php从数组中随机选择若干不重复元素的方法,涉及php数组操作的相关常用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • php递归遍历多维数组的方法

    php递归遍历多维数组的方法

    这篇文章主要介绍了php递归遍历多维数组的方法,实例分析了php数组遍历的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • PHP+mysql+ajax轻量级聊天室实现方法详解

    PHP+mysql+ajax轻量级聊天室实现方法详解

    这篇文章主要介绍了PHP+mysql+ajax轻量级聊天室实现方法,结合实例形式分析了php+mysql实现实时聊天室功能的具体步骤与相关实现技巧,需要的朋友可以参考下
    2016-10-10
  • 一个PHP模板,主要想体现一下思路

    一个PHP模板,主要想体现一下思路

    一个PHP模板,主要想体现一下思路...
    2006-12-12
  • PHP文件锁函数flock()详细介绍

    PHP文件锁函数flock()详细介绍

    这篇文章主要介绍了PHP文件锁函数flock()详细介绍,本文着重对flock函数的作用和参数讲解,以及使用需要注意的问题,需要的朋友可以参考下
    2014-11-11
  • php目录拷贝实现方法

    php目录拷贝实现方法

    这篇文章主要介绍了php目录拷贝实现方法,通过一个自定义递归调用函数实现对目录的拷贝功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • PHP7.0连接DB操作实例分析【基于mysqli】

    PHP7.0连接DB操作实例分析【基于mysqli】

    这篇文章主要介绍了PHP7.0连接DB操作,结合实例形式分析了php7基于mysqli连接与查询数据库相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • PHP session反序列化漏洞超详细讲解

    PHP session反序列化漏洞超详细讲解

    这篇文章主要介绍了PHP session反序列化漏洞,php session反序列化漏洞存在的原因是当序列化session和读取反序列化字符时采用的序列化选择器不一样时,处理的方法不一样
    2023-02-02

最新评论