Мыльная кодировка символов в Android - PullRequest
1 голос
/ 06 октября 2011

Я могу вызывать веб-сервисы с помощью кода, которым я делюсь ниже, и это нормально, но пока я отправляю значение параметра с турецкими символами, возникает проблема кодирования. Когда я изменяю кодировку кодировки 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...