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

/**
* 对变量进行 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);
    }
}

时间: 2024-09-13 10:30:52

php的json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案。的相关文章

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

PHP5.4才支持JSON_UNESCAPED_UNICODE这个参数,此参数是让中文字符在json_encode的时候不用转义,减少数据传输量.但在PHP5.3中,就得自己写个函数来实现,以下就是解决方法: /** * 对变量进行 JSON 编码 * @param mixed value 待编码的 value ,除了resource 类型之外,可以为任何数据类型,该函数只能接受 UTF-8 编码的数据 * @return string 返回 value 值的 JSON 形式 */ functi

php的json_encode不支持JSON_UNESCAPED_UNICODE解决办法

我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似"\u***"的格式, 还会在一定程度上增加传输的数据量. <?php echo json_encode("中文");   //"\u4e2d\u6587" 这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode. 而在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNES

FireFox和IE中的CSS兼容差异及解决方案

1.css在不同浏览器下显示效果不同 firefox和IE对某些css样式的认定有不少区别,包括: ul和ol的默认padding值是不一样的,在Firefox中,padding-left默认值为40px左右,而IE中为0,一般设置ul{margin:0;padding:0;}就能解决大部分问题 对字体大小small的定义不同,Firefox中为13px,而IE中为16px,差别挺大,也只能设置为14px了事:(暂时没有发现) 并列排列的多个元素(图片或者链接)的代码中的空格和回车会造成元素之间

php json_encode utf8 中文编码\65u02f。怎么解决?

问题描述 php json_encode utf8 中文编码65u02f.怎么解决? mysql_query("set names 'utf8'"); 已经写这个了,但是还是这样.. 解决方案 你去安装软件的my.ini文件,修改为[mysql] default-character-set=utf8 在建库时候选择utf8 解决方案二: header("content-Type: text/html; charset=Utf-8"); echo mb_convert

求救-大神们帮帮忙,小米手机实现拍照照片上传怎么弄的?为啥别的手机可以,他的不兼容呢?

问题描述 大神们帮帮忙,小米手机实现拍照照片上传怎么弄的?为啥别的手机可以,他的不兼容呢? 小米手机实现拍照照片上传怎么弄的?为啥别的手机可以,他的不兼容呢? 解决方案 因为小米手机的系统深度定制过的,建议root下 解决方案二: 1.小米也是安卓系统,通过QQ就可以将照片传入电脑.也可将电脑的照片传入手机. 2.你也可以通过USB,连接电脑与手机,直接拷贝. 解决方案三: 应该可以吧,我看到有那个功能,不行就问问客服

ie-javascript模板兼容问题-etpl。。。。。。。。。。

问题描述 javascript模板兼容问题-etpl.......... 用etpl生成js视图在IE中不兼容,求解答,急急急!!! 解决方案 没用过etpl,不过既然是客户端的东西,那么就是你生成的客户端js代码不兼容ie,自己f12查看报什么错误,修改下不兼容的代码 解决方案二: 是代码不兼容IE,就是不知道该怎么让兼容,目前没找到合适的代码 解决方案三: 一点点的试,看那些代码不兼容. 解决方案四: 说具体一点,etpl我用的多了,而且页面都是兼容ie6的,没有兼容性问题啊

显示-不兼在系统window8,vc6.0不兼容

问题描述 不兼在系统window8,vc6.0不兼容 下载了个vc6.0,在点编译的时候显示不兼容,怎么解决,在windows8系统下,改名字,在属性设置兼容,没用 解决方案 win8就不要用vc6.0了,改用vs或codeblock吧 解决方案二: 用vVS2013 解决方案三: 用vs吧,直接去微软官网下载 解决方案四: vc6.0已经过时了,版本太老了满足不了开发了,vs2013很不错! 解决方案五: vc6.0 -- 15年前的东西了.世博时代的产品. 用win8,就有vs2012/20

javascript-WEB标准模式和混杂模式js代码兼容问题?

问题描述 WEB标准模式和混杂模式js代码兼容问题? 今天看视频教学,在js代码中考虑了混杂模式和标准模式的代码兼容问题,例子代码如下: var scrollTop=document.body.scrollTop||document.documentElement.scrollTop; 然后百度了一下,看到按照什么模式解析,是在html文件开头的中定义的,如果在html文档开头,可以用来确定按照混杂模式还是标准模式来解析,为什么在js代码中,还要考虑不同模式的的兼容问题? 解决方案 常见的浏览器

求助:怎么让网站和论坛的URL重写兼容可用??

问题描述 现在有一个网站,还有一个独立的论坛,这两个都用到了URL重写,我把这两个项目的WEB.CONFIG配置中的URL重写放到一个WEB.CONFIG中,<httpModules><!--UrlRewrite--><addtype="Discuz.Forum.HttpModule,Discuz.Forum"name="HttpModule"/><addtype="hxy.UrlRewriter.ModuleRe