我已阅读关于该主题的每篇文章,但我认为我没有找到对我的问题的回复,这让我发疯。如何阅读PHP中的json_encode之后的亚洲字符(日文,中文)
我得到了几个php文件,一个存储数据到mySQL数据库,另一个读取这些数据:我从世界各地获取数据,似乎我成功地以正确的方式存储亚洲字符,但是当我尝试阅读这些数据,但无法将这些字符恢复。
和其他许多用户一样?而不是正确的字符。
顶我的PHP文件我:
header('Content-Type: application/json; charset=utf-8');
然后
mysql_query("SET CHARACTER SET utf8", $link);
mysql_query("SET NAMES 'utf8'", $link);
然后
$fab[] = array_map(utf8_encode,$array);
在这里,如果我print_r ($fab)
我失去了亚洲字符:-(
然后w我做:
$json_string = json_encode($fab); //originale
我得到的是"??"
。
如何正确地获取正确的字符? json字符串然后通过 到iPhone客户端。
任何建议或帮助将不胜感激。
谢谢你的好意, 法布里奇奥
好吧,firts thanx,然后我搬走了array_map,但我得到了相同的结果:在我的测试中,我得到的有时是“??”和其他时间十六进制代码,但从来没有亚洲字符:( – Fabrizio 2010-10-11 10:42:37
如果你得到像\ uxxxx(其中xx用十六进制数字表示)之类的东西,那么编码是正确的,UTF和Unicode字符必须用这种方式编码。字符串转换成JavaScript对象(即与eval(jsonString),然后打印出它应该打印在亚洲字符字段的内容 – Tseng 2010-10-11 13:28:30
如果编码是正确的,我想我需要解码客户端(在iPhone应用程序),是否正确?无论如何,帮助大亨。 – Fabrizio 2010-10-14 11:59:11