日期:2014-05-17  浏览次数:20679 次

php从MYSQL生成JSON数据,中文有问题。
mysql是UTF8编码,json.php是UTF8编码,在数据库中,直接查询表,里面的中文都能正确显示。

在php程序中,

mysql_query("set names utf8");使用这个设置了编码。

urldecode(json_encode($newData))这个是生成了JSON。

但是中文不出来啊,结果如下:

nutrition":"\u7c73\u996d\u7684\u4e3b\u8981\u6210\u5206\u662f\u78b3\u6c34\u5316\u5408\u7269\uff0c\u7c73\u996d\u4e2d\u7684\u86cb\u767d\u8d28\u4e3b\u8981\u662f\u7c73\u7cbe\u86cb\u767d\uff0c\u6c28\u57fa\u9178\u7684\u7ec4\u6210\u6bd4\u8f83\u5b8c\u5168\uff0c\u4eba\u4f53\u5bb9\u6613\u6d88\u5316\u5438\u6536\u3002\u7cd9\u7c73\u996d\u4e2d\u7684\u77ff\u7269\u8d28\u3001\u81b3\u98df\u7ea4\u7ef4\u3001B\u65cf\u7ef4\u751f\u7d20(\u7279\u522b\u662f\u7ef4\u751f\u7d20B1)\u542b\u91cf\u90fd\u8f83\u7cbe\u7c73\u7c73\u996d\u4e2d\u7684\u8981\u9ad8\u3002","consumption_effect":"\u5927\u7c73\u6027\u5e73\u3001"

上面这个就是中文字符的结果。

怎么解决?

------解决方案--------------------
中文json本来就是以UNICODE编码的字符串表示。
------解决方案--------------------


百度搜索第一条,你可看到答案。

json 中文 编码 PhpNewnew site:csdn.net
------解决方案--------------------
晕,我google json_decode site:w3school.com.cn竟然没搜到……