赞
踩
最保险的方法,亲测
在PHP开发接口中,我们经常在返回数据中用到了json_encode函数;
默认json_encode 对中文只支持utf-8,不支持GBK;
json_encode函数返回的字符串中中文的显示是unicode编码,有些时候项目要求接口返回的数据就是可以看到的中文;
处理方法:
i: 先对返回结果中的数据有中文的全部处理成utf-8,如:
s
t
r
=
i
c
o
n
v
(
"
G
B
K
"
,
"
u
t
f
−
8
"
,
str = iconv("GBK","utf-8",
str=iconv("GBK","utf−8",str);默认就是utf-8的不用处理;
ii: 再对所有含有中文的数据处理为 $str = urlencode( $str );
iii:正常使用 $returnStr = json_encode( $returnResult );
iv: $returnStr = urldecode ( $returnStr );
就可以得到正确的数据了
对于PHP5.4及以上版本提供了函数直接返回: json_encode($var, JSON_UNESCAPED_UNICODE);
还有亲测网上大部分的函数转化都有问题,尤其是针对多维数组
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。