2010-10-19 77 views
0

我想要顯示JSON響應時遇到問題。我正確地提取字符串,但是當有像'á'或'¿'這樣的字符而不是這些字符出現'Ã'或'¿'時。我認爲這個響應來自非UTF8的enconding,但我找不到如何轉換它。從Facebook的JSON響應中獲取奇怪的字符


編輯:我試圖做一個GET請求到以下網址:https://graph.facebook.com/me找回我的個人資料傳遞訪問令牌的信息。

HttpGet get = new HttpGet(url); 
response = client.execute(get); 

要提取我這樣做了迴應:

JSONObject json_object; 
response.getEntity().writeTo(ostream); 
json_object = new JSONObject(ostream.toString()); 
String name = json_object.getString("name"); 
Log.d("NAME",name); 

請注意,我用的Android SDK編程。


謝謝。

+0

你可以給我你正在做的請求的網址嗎? – 2010-10-19 23:36:21

+0

你能展示你如何提取響應嗎? – 2010-10-19 23:57:56

+0

我已更新問題,謝謝。 – Adrian 2010-10-20 09:41:38

回答

1

您可以通過使用 import org.apache.commons.lang.StringEscapeUtils來實現,如果您沒有請下載它。

例如

可以通過StringEscapeUtils strutil = new StringEscapeUtils(); 然後標題= strutil.escapeHtml(標題)使用它;

title = title.replaceAll("\"", "''"); 
     desc_val = desc_val.replaceAll("\"","''"); 

     title = strutil.escapeHtml(title); 
     desc_val = strutil.escapeHtml(desc_val); 
     url_val = strutil.escapeHtml(url_val); 

並且還嘗試使用Html.fromHtml(title)將其轉換爲HTMl格式;

我希望它可以幫助你。

+0

我試過了,但是當我收到這個字符串時:「Tienes hambre?」,如果我沒有使用escapeHtml方法,我會得到相同的字符串:「Tiennes hambre?」。 Html.fromHtml方法我認爲對我來說沒用,因爲我只想得到正確的字符串編碼。 – Adrian 2010-10-20 11:15:07

+0

請再次參考答案我編輯了幾件事情 – 2010-10-20 12:08:46

+0

是否如果你的內容有雙引號.. – 2010-10-20 12:10:41