一、JSON处理中文遇到的问题
php5.2新增的json功能是非常受欢迎的,但是经过测试发现,json_encode对中文的处理是有问题的:
1.不能处理GB编码,所有的GB编码都会替换成空字符.
2.utf8编码的中文被编码成unicode编码
二、JSON中文问题的处理
现在我们来考虑一下PHP的JSON扩展无法处理中文的问题,基本的解决方案就是在服务器端进行json编码前先对中文进行rawurlencode转码,全部变为英文字符,然后对json编码后的字符串再用rawurldecode转换回中文即可。
总的来说,这些左转右转编码的方式效率都不会很高,特别是处理的字符串很多的时候,效率不敢恭维,我们还是需要寻找更快速的方式,或者最好是PHP的JSON扩展能够直接支持中文,那就最好了。