我正在調用一個返回XML的其餘WS。一些元素的字符串包含像áãç等特殊字符... 當我通過瀏覽器獲取信息時,所有顯示都正確,但是從Android中調用它時,我沒有得到正確的特殊字符。UTF8在調用REST webservice時在Android中進行編碼
注意「解碼」和「編碼」變量:
當我使用 URLDecoder.decode(result, "UTF-8")
結果保持不變
當我使用 URLEncoder.encode(result, "UTF-8")
結果將更改爲它可以預期(全%的符號和數字代表符號和特殊字符)。
下面是調用web服務的方法:
public void updateDatabaseFromWebservice(){
// get data from webservice
Log.i(TAG, "Obtaining categories from webservice");
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(ConnectionProperties.CATEGORIES_URI);
ResponseHandler<String> handler = new BasicResponseHandler();
String result = "";
String decoded;
String encoded;
try {
result = client.execute(request, handler);
decoded = URLDecoder.decode(result, "UTF-8");
encoded = URLEncoder.encode(result, "UTF-8");
String c = "AS";
} catch (Exception e) {
Log.e(TAG, "An error occurred while obtaining categories", e);
}
client.getConnectionManager().shutdown();
}
任何幫助,將不勝感激
爲我工作,謝謝! – baekacaek 2013-09-04 20:54:51