php5.4以下版本json不支持不转义内容中文的解决方法_.docx

上传人:PIYPING 文档编号:11633492 上传时间:2021-08-27 格式:DOCX 页数:4 大小:12.32KB
返回 下载 相关 举报
php5.4以下版本json不支持不转义内容中文的解决方法_.docx_第1页
第1页 / 共4页
php5.4以下版本json不支持不转义内容中文的解决方法_.docx_第2页
第2页 / 共4页
php5.4以下版本json不支持不转义内容中文的解决方法_.docx_第3页
第3页 / 共4页
php5.4以下版本json不支持不转义内容中文的解决方法_.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《php5.4以下版本json不支持不转义内容中文的解决方法_.docx》由会员分享,可在线阅读,更多相关《php5.4以下版本json不支持不转义内容中文的解决方法_.docx(4页珍藏版)》请在三一文库上搜索。

1、php5.4以下版本json不支持不转义内容中文的解决方法_ 这篇文章主要介绍了php5.4以下版本json不支持不转义内容中文的解决方法,通过一个自定义php方法实现模拟joson中文不转义,具有肯定参考借鉴价值,需要的伴侣可以参考下 本文实例讲解并描述了php5.4以下版本json不支持不转义内容中文的解决方法。分享给大家供大家参考。具体分析如下: 写ERP接口的时候遇到JAVA方接收这种json_encode后的内容 代码如下: orderCode:1401160935542399,creator:u751fu6d3bu7528u54c1u6d4bu8bd5u5c0fu5c4b 其中cr

2、eator:u751fu6d3bu7528u54c1u6d4bu8bd5u5c0fu5c4b为中文,目前我们用的是UTF8的。但是JAVA方接收这种的时候自动把转义后的中文转回成中文的,那签名计算方式是按这个来的,签名自然对不上了。 查了PHP手册,5.4以下的不能不转义中文,但是我们服务器上的PHP版本是5.3的,于是用PHP模拟了一个JSON方法。 代码如下: /模拟joson中文不转义 if (version_compare(PHP_VERSION, 5.4.0) = 0) function json_encode_ex($var) return json_encode($var, JS

3、ON_UNESCAPED_UNICODE); else function json_encode_ex($var) if ($var = null) return null; if ($var = true) return true; if ($var = false) return false; static $reps = array( array(, /, n, t, r, b, f, , ), array(, /, n, t, r, b, f, , ), ); if (is_scalar($var) return . str_replace($reps0, $reps1, (strin

4、g) $var) . ; if (!is_array($var) throw new Exception(JSON encoder error!); $isMap = false; $i = 0; foreach (array_keys($var) as $k) if (!is_int($k) | $i+ != $k) $isMap = true; break; $s = array(); if ($isMap) foreach ($var as $k = $v) $s = . $k . : . call_user_func(_FUNCTION_, $v); return . implode(, $s) . ; else foreach ($var as $v) $s = call_user_func(_FUNCTION_, $v); return . implode(, $s) . ; 用的时候挺直当内置函数用就行。json_encode_ex(array(钓鱼岛=中国的);还支持多维数组。 盼望本文所述对大家的php程序设计有所关心。 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1