Задать вопрос

Как установить кодировку POST запроса на Android?

Собственно вопрос: Есть REST API, на него отправляю значения и они заносятся в БД, если через инструмент для теста (ну отправка POST, GET с параметрами) то всё ок с русскими буквами, если делаю POST запрос с этим же параметрами через Android - то кодировка в БД не понятная, вместо русских символов знаки вопроса.

Как я тестировал - расширение для хрома - Advanced REST client, через него можно отправлять POST, GET, PUT и т.д с параметрами. Через него всё отлично заносится с русскими символами. Через Android же всё криво, вот код:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse httpResponse = null;
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
httpResponse = httpClient.execute(httpPost);
  • Вопрос задан
  • 5513 просмотров
Подписаться 6 Оценить Комментировать
Решения вопроса 2
aratj
@aratj
программер.
httpPost.setHeader("Content-Type", "application/json; charset=utf-8");
...
setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
...

Однажды мне пришлось конвертить вручную. полученный json

commons.apache.org/proper/commons-lang
StringEscapeUtils.unescapeJava(String str)
Ответ написан
Комментировать
mrstrictly
@mrstrictly
В конструктор UrlEncodedFormEntity передайте вторым параметром строку "UTF-8".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы