Звучит хорошо. Можете ли вы показать мне какой-нибудь пример?

отаю над проектом, который включает в себя взаимодействие сервера (приложение JavaEE) и клиента (приложение Android). XML отправляется как один из параметров POST HTTP-запроса (с именем «xml»). Есть также несколько других параметров POST, которые я передаю серверу, но в приведенной ниже функции я удалил их для простоты. Проблема в том, что некоторые письма не доставляются на сервер должным образом - например, символыŰ (Обратите внимание, что это не немецкийÜ, который правильно доставлен, кстати). Код для отправки следующий:

private String postSyncXML(String XML) {
    String url = "http://10.0.2.2:8080/DebugServlet/DebugServlet";
    HttpClient httpclient = new DefaultHttpClient();  

    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("xml",XML));

    UrlEncodedFormEntity form;
    try {
        form = new UrlEncodedFormEntity(nameValuePairs);
                form.setContentEncoding(HTTP.UTF_8);
        HttpPost httppost = new HttpPost(url);

        httppost.setEntity(form);

        HttpResponse response = (HttpResponse) httpclient .execute(httppost);
        HttpEntity resEntity = response.getEntity();  
        String resp = EntityUtils.toString(resEntity);
        Log.i(TAG,"postSyncXML srv response:"+resp);
        return resp;
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
}

Я предполагаю, что проблема в BasicNameValuePair, которую я использую, чтобы установить XML в качестве одного из параметров POST, и в документации сказано, что он использует набор символов US-ASCII. Как правильно отправлять поля POST в кодировке UTF-8?

Ответы на вопрос(6)

Ваш ответ на вопрос