Mig*_*iro 2 encoding android encode decode utf-8
我正在调用一个返回XML的rest WS.一些元素的字符串包括特殊字符,如áãç等...当我通过浏览器获取信息时,所有这些都显示正确,但是当从Android调用它时,我没有得到正确的特殊字符.
注意'解码'和'编码'变量:
当我使用时
URLDecoder.decode(result, "UTF-8")
结果保持不变
当我使用时
URLEncoder.encode(result, "UTF-8")结果更改为预期的结果(%的符号和数字表示符号和特殊字符).
这是调用webservice的方法:
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();
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激
Vit*_*nko 12
假设服务器以UTF-8编码数据,使用此方法获取xml字符串:
HttpResponse response = client.execute(request);
... // probably some other code to check for HTTP response status code
HttpEntity responseEntity = response.getEntity();
String xml = EntityUtils.toString(responseEntity, HTTP.UTF_8);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8511 次 |
| 最近记录: |