getText.toString () меняет символы на Юникод - PullRequest
0 голосов
/ 05 мая 2018

У меня есть поле edittext в моем приложении, где конечный пользователь вводит свою электронную почту для входа в систему.

Когда я использую getText.toString () для получения значения поля, символ @ автоматически преобразуется в% 40 и разбивает переданные значения в запросе POST.

Думаю, мне не хватает чего-то простого, чтобы остановить автоматическое преобразование. Я вижу, проблема в;

@Field(encoded = false, value = "username") String username

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Поскольку серверу на самом деле требуется, чтобы поле было «электронная почта», оно работало корректно, когда я изменил Ретро-соответствие, как показано ниже;

//changed value = "username" to value = "email"
@Field(encoded = false, value = "email") String username
0 голосов
/ 05 мая 2018

Параметры пост-запроса кодируются на основе заголовка типа содержимого. Вы должны установить тип содержимого как "text / html", чтобы предотвратить кодировку.

В качестве альтернативы, вы также можете использовать приведенный ниже код для декодирования значения.

String result = java.net.URLDecoder.decode(receivedStringValue, "UTF-8");
...