Я пытаюсь исправить проблему в приложении для Android. Приложение отправляет HTTP-запрос в веб-сервис. Когда текст в запросе содержит шведские символы Å, Å и Ö, это не работает. Люди, у которых есть веб-сервис, говорят, что это потому, что запрос должен быть закодирован в UTF-8, а они говорят, что это не так.
Приложение использует org.apache.http.impl.client.DefaultHttpClient, и я предполагаю, что в этой строке сказано, что следует использовать UTF-8: HttpProtocolParams.setContentCharset (params, "UTF-8");
Я использовал Wireshark, чтобы увидеть, что приложение отправляет, и строка «TeståäöÅÄÖéüà» отображается как:
"Test \ 345 \ 344 \ 366 \ 305 \ 304 \ 326 \ 351 \ 374 \ 340"
Я обнаружил по этой таблице , что числа являются восьмеричным представлением "кодовой точки Unicode" для символов. Это что-то еще, кроме UTF-8, верно?
Это так, что если бы это был UTF-8, специальные символы были бы представлены двумя байтами, например, «c3 a5» для «å» и «c3 a4» для «ä»?
Итак:
1. Правильно ли я понимаю это с Unicode против UTF-8?
2. Прав ли я в том, что отправляемое НЕ в кодировке UTF-8?
3. Как мне сделать отправку DefaultHttpClient в UTF-8?
Jon