我已閱讀關於該主題的每篇文章,但我認爲我沒有找到對我的問題的回覆,這讓我發瘋。如何閱讀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