Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Android Новый топик    Ответить
 Перекодировка UTF-8 в 1251  [new]
А. С.
Member

Откуда:
Сообщений: 153
Привет. Проблема, нужно перекодировать строку из UTF-8 в Win-1251.
Указанный текст, который много раз везде обсуждался, не помогает, получаю исключение.
Unhandled exception: java.io.UnsupportedEncodingException
вот часть кода:
String urlSend = "https://secure.blablabla.ru/rcapi/?action=personal_data&surname=Пушкин";
String newUrlSend = new String(urlSend.getBytes("UTF-8"), "windows-1251");


При этом часть urlSend.getBytes("UTF-8") подчеркивает красным и в подсказке пишет исключение.
Делаю в Android Studio.
2 авг 17, 14:55    [20695108]     Ответить | Цитировать Сообщить модератору
 Re: Перекодировка UTF-8 в 1251  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 24164
А в чем смысл этого кода?

Для чего нужна ссылка в кодировке ansi?
2 авг 17, 16:54    [20695616]     Ответить | Цитировать Сообщить модератору
 Re: Перекодировка UTF-8 в 1251  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 24164
А. С.
String newUrlSend

Она все равно будет в utf-8, просто в качестве источника в нее передается массив с символами из другой кодировки.
2 авг 17, 16:56    [20695628]     Ответить | Цитировать Сообщить модератору
 Re: Перекодировка UTF-8 в 1251  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 24164
А. С.
urlSend.getBytes("UTF-8")

А в данном случае получается массив байт для составления строки в utf-8.

В общем... Смысл кода ускользает от меня.
2 авг 17, 17:01    [20695642]     Ответить | Цитировать Сообщить модератору
 Re: Перекодировка UTF-8 в 1251  [new]
А. С.
Member

Откуда:
Сообщений: 153
wadman,
спасибо за активность. Не там копал, смысла в коде этом нет как я выяснил уже.
Проблема в общем такая, мне надо из приложения на сервер передать GET запрос на добавление данных. В том числе там по русски поля, ФИО и прочее.
Передача осуществлена через HttpURLConnection.
Но при получении на сервере вместо русских букв получаю кракозябры.
Там в 1251 надо.
Вот и проблема, я так понял что в момент соединения надо указать в какой кодовой таблице будет передан запрос.
Или не там рою?
2 авг 17, 22:41    [20696416]     Ответить | Цитировать Сообщить модератору
 Re: Перекодировка UTF-8 в 1251  [new]
А. С.
Member

Откуда:
Сообщений: 153
Нашел такой текст, вроде то что надо, но как то не работает у меня пока. Разбираюсь.
http://hostciti.net/faq/java/kak-peredat-parametri-v-get-zapros-na-java.html
2 авг 17, 23:48    [20696552]     Ответить | Цитировать Сообщить модератору
 Re: Перекодировка UTF-8 в 1251  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 24164
А. С.
Там в 1251 надо.
Вот и проблема, я так понял что в момент соединения надо указать в какой кодовой таблице будет передан запрос.
Или не там рою?

Либо в заголовке указываешь кодировку, либо в поток вывода отдаешь байты из строки как раз в win1251, а не ява-строку.
Но на самом деле тебе нужен UrlEncode https://stackoverflow.com/questions/7295302/how-to-encode-cyrillic-symbols-in-http-requests-in-java
3 авг 17, 09:08    [20696870]     Ответить | Цитировать Сообщить модератору
Все форумы / Android Ответить