Я пытаюсь решить проблему в приложении для 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 vs UTF-8?
2. Правильно ли я понимаю, что то, что отправляется НЕ в кодировке UTF-8?
3. Как мне это сделать? заставить DefaultHttpClient отправлять в UTF-8?
Джон