Я вызываю остальную часть WS, которая возвращает XML.В некоторых элементах есть строки, содержащие специальные символы, такие как áãç и т. Д. ... Когда я получаю информацию через браузер, она отображается правильно, но при вызове из Android я не получаю правильные специальные символы.
Обратите внимание на«декодированные» и «закодированные» переменные:
, когда я использую URLDecoder.decode(result, "UTF-8")
Результат остается тем же
, когда я использую URLEncoder.encode(result, "UTF-8")
Результат меняется на то, что ожидалось (полныйСимволы% и цифры, представляющие символы и специальные символы).
Вот метод для вызова веб-службы:
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();
}
Любая помощь будет оценена