我訪問Yummly數據庫使用HTML查詢在我的Android應用程序的食譜:Yummly API的JSON響應返回奇怪的字符(安卓)
http://api.yummly.com/v1/api/recipes?_app_id=MY-APP-ID_app_key=MY-APP-KEY&q=KEYWORD
即使他們的文檔指出GET請求在返回UTF-8格式,我在代碼中找到一些奇怪的字符,如:Pots de Creme a l’Orange
。
該問題不僅限於我的Android應用程序,但Chrome瀏覽器中也顯示了相同的問題。有趣的是,當我嘗試在Internet Explorer中打開它時,它似乎是正確的:Pots de Creme a l’Orange
,但還有其他一些內容,如crème fraĂ®che
,它在Chrome中有時顯示爲Crème Fraîche
,有時正確爲Crème Fraîche
。
使瀏覽器以不同方式解釋響應的瀏覽器有什麼區別? 而且,更重要的是,在Android/Java中可以做些什麼來消除這個問題?你有什麼想法?
在Android中,我使用HttpGet從服務器獲取數據,然後將其傳遞給JSONObject。
你確定字符串變量存儲的響應也是UTF-8編碼? – 2013-03-26 18:06:28
我沒有真正確切地說過,但是我遵循了StackOverflow的一個建議,並且把'BufferedReader reader = new BufferedReader(new InputStreamReader(content,「UTF-8」));''。另一方面,這個問題也存在於Web瀏覽器中,所以我不認爲Java代碼可以做任何事情,因爲我可能早些時候存在這個問題。 – 2013-03-26 18:16:16