当前位置: 首页 > 编程笔记 >

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

范福
2023-03-14
本文向大家介绍php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案,包括了php中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在线手册》,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍PHP使用json_encode函数时不转义中文的解决方法,包括了PHP使用json_encode函数时不转义中文的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP使用json_encode函数时不转义中文的解决方法。分享给大家供大家参考。具体方法如下: json_encode函数对于gbk中的中文字符是不会转换的或直接转换成空格了,本文就来给各位整理一个关于j

  • java.lang.IllegalArgumentException:无法将io.appium.java_client.ios.ioselement字段screens.loginscreen.signinemail设置为org.openqa.selenium.remote.remoteWebelement$$enhancerbycglib$$62bef779 此外,我不能将WebElements转

  • 问题内容: 我在本地运行WAMP,但连接到远程MySQL数据库。PHP的本地版本是最新的5.3.0。 5.0.45版是远程数据库之一,可以正常工作。但是,我尝试连接的另一个远程数据库(版本5.0.22)在死亡之前引发以下错误: 警告:mysql_connect()[function.mysql-connect]:OK包比预期的要短6个字节。PID = 5880 in … 警告:mysql_conn

  • 我有一个程序使用片段,但我有一个问题,当我包括列表视图在我的传呼机当一个项目在滑动菜单选择。 这些错误是: 在制表符适配器上 公共类TabsPagerAdapter扩展FragmentStatePagerAdapter{ } 行中的错误: public FragmentActivity getItem(int index){ 此行有多个标记-实现android.support.v4.app.Fra

  • 本文向大家介绍IE6兼容透明背景图片及解决方案,包括了IE6兼容透明背景图片及解决方案的使用技巧和注意事项,需要的朋友参考一下 首先给大家展示效果图: JS代码:  //1、通过公共类 //2、直接用选择器:类名,ID,标签 html代码: css代码: ie6中的透明图片不是透明显示的解决方案 一些图片存在着浏览器的兼容性,本身是透明的图片在ie6中却是不透明,比如: 在ie6中的效果 正常显示

  • 本文向大家介绍WPF中不规则窗体与WindowsFormsHost控件兼容问题的解决方法,包括了WPF中不规则窗体与WindowsFormsHost控件兼容问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了WPF中不规则窗体与WindowsFormsHost控件兼容问题的解决方法。分享给大家供大家参考。具体方法如下: 这里首先说明一下,有关WPF中不规则窗体与WindowsFo