关于json_encode返回中文乱码的问题

#1 woshishei0527

我是一个纯新手,弄了半天,也搜了半天json_encode中文乱码的问题 解决的方案都不理想。
现在是返回的是这种形式的字符串
[{"id":"1","msg":"tttttest"},{"id":"2","msg":"china"},{"id":"3","msg":"4e2d6587"},{"id":"4","msg":"676581eaanzhuo5ba262377aef76846d88606f"},{"id":"5","msg":"676581eaanzhuo5ba262377aef76846d88606f"},{"id":"6","msg":"676581eaanzhuo5ba262377aef76846d88606f"},{"id":"7","msg":"79c1670dSifu"},{"id":"8","msg":"676581eaanzhuo5ba262377aef76846d88606f"},{"id":"9","msg":"676581eaanzhuo5ba262377aef76846d88606f"},{"id":"10","msg":"676581eaanzhuo5ba262377aef76846d88606f"}]
请问如何解决呢?谢谢。

2012-07-18 18:39:31

#2 jake

首先,如果产生json和接收json都是PHP的话,那么用json_encode和json_decode是没有问题的,可以互换而不会出现编码问题。

如果是从别的程序(如客户端app)产生的JSON,那么就要注意编码,因为一般客户端都是GBK的,你可以尝试这个方法:json_decode + iconv转码成UTF8.

而且我也见过更复杂的,因为无法转换json_decode,所以只能自行解析字符串,其实xxx是十六进制的中文而已。

2012-07-19 08:31:22