但因為我是使用php對MySQL做查詢
再將查詢的結果用陣列encode成json格式,再傳回Android
然後我有一個習慣就是我會先在Eclipse的console面板的log中先看傳回什麼東西XD
例如
Log.e("result", json)
於是就看到我的log跑出一堆很奇怪的訊息,類似\u6211\u662f\u5e25\u54e5
就像這樣,每個都有\u開頭後來花了一點時間查了一下資料,了解了這原來就是所謂的萬國碼(Unicode)
然後其實也不用花費時間在轉碼上焦頭爛額......因為
就算log顯示的是那樣,Java在輸出(print、TextView)的時候還是會自動轉碼回去log的時候會產生這樣的結果,是因為json在encode的過程中會將中文自動轉碼
保險一點的話還是可以在語法中加入JSON_UNESCAPED_UNICODE
json_encode($string, JSON_UNESCAPED_UNICODE);
這是php版本5.4以後才有的功能如此一來json在encode的過程中就不會強迫轉碼囉
沒有留言:
張貼留言