Я могу вызывать веб-сервисы с помощью кода, которым я делюсь ниже, и это нормально, но пока я отправляю значение параметра с турецкими символами, возникает проблема кодирования. Когда я изменяю кодировку кодировки utf-8 на iso-8859-9, некоторые турецкие символы отображаются правильно (ç, ö, ü), но 3 буквы (ı, ğ, ş) не меняются. почему это происходит?
abcçdefg * ч * ijklmnoöprs? Tuüvyz
должно быть: abcçdefg * ğ * h * ı * ijklmnoöprs * ş * tuüvyz
final DefaultHttpClient httpClient=new DefaultHttpClient(); HttpParams params = httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(params, 10000);
HttpConnectionParams.setSoTimeout(params, 15000);
// set parameter
HttpProtocolParams.setUseExpectContinue(httpClient.getParams(), true);
// POST the envelope
HttpPost httppost = new HttpPost(parameters[0]);
// add headers
httppost.setHeader("soapaction", parameters[1]);
httppost.setHeader("Content-Type", "text/xml; charset=iso-8859-9");
String responseString="";
try {
HttpEntity entity = new StringEntity(parameters[2]);
httppost.setEntity(entity);
// extended class from BasicResponseHandler
ResponseHandler<String> rh=new ResponseHandlerTr();
responseString=httpClient.execute(httppost, rh);
}
catch (Exception e) {
Log.v("exception", e.toString());
}
// close the connection
httpClient.getConnectionManager().shutdown();
return responseString;