以下版本的JSON在以下版本不支持中文php5.4呆板的内容解决方案
写作的ERP接口时,java方接收后json_encode内容重复代码如下:{ordercode 1401160935542399
造物主: u751f u6d3b u7528 u54c1 u6d4b u8bd5 u5c0f u5c4b 是中国的,目前我们使用UTF8。然而,当java侧接收这样一种方式,它会自动转让转让中国进入中国,和签名的计算方式是基于此,和签名是不太自然。
查看PHP手册,不到5.4不能翻译成中文,但我们服务器上的PHP版本是5.3,所以用PHP模拟JSON方法。
复制代码如下: / /中盛中国难逃模拟
如果(version_compare(php_version,'5.4.0 ')> = 0){
功能json_encode_ex($变量){
返回json_encode($ VaR,json_unescaped_unicode);
}
{人}
功能json_encode_ex($变量){
如果($ = NULL)
return'null;
如果($ = TRUE)
return'true;
如果($ = false)
return'false;
静态数组(数组)
数组()
阵列(' ',' /、,,
);
If (is_scalar ($var))
返回。str_replace($代表{ 0 },{ 1 }为代表,(字符串)$变量)。;
如果(!Is_array ($var))
抛出异常('json编码器误差!;
为农产品管理综合系统= false;
$ I = 0;
foreach(array_keys($变量)为K){
如果(!is_int(k)| | $我+ +!= k){
为农产品管理综合系统=真;
打破;
}
}
数组();
如果(合农产品管理综合系统){
foreach($ var $ K = $ V)
$ = }。美元。call_user_func(__function__,$ V);
返回{。(崩溃,美元的,});
{人}
foreach($ var $ V)
的{ } = call_user_func(__function__,$ V);
返回{。(崩溃,美元的,});
}
}
}
使用时,它是直接使用内置的function.json_encode_ex(array(' = >中国钓鱼岛));也支持多维数组。
希望本文能对大家的PHP程序设计有所帮助。