Неправильное преобразование UTF8 в приложении Spring MVC - PullRequest
0 голосов
/ 19 октября 2011

У меня возникли проблемы с преобразованием сообщений Spring HTTP. В моем приложении у меня есть форма входа. Когда зарегистрированный пользователь пытается войти, он получает ошибку входа в систему (перенаправление на / login? Login_error = 1) Фактическое имя пользователя ввода ¡¢ £ ¤ ¥ |§¨ © ª «¬®¯ ° ± ²³

Содержание запроса http://bit.ly/oCmwwP

Имя пользователяPasswordAuthenticationFilter получает в качестве входного параметра неправильно закодированное имя пользователя.

Например, ожидаемое имя пользователя (закодированное в ¡£ ¤ ¥ ¦§¨ © ª «¬®¯ ° ± ²³) равно % C2% A1% C2% А2% C2% А3% C2% A4% C2% A5% C2% A6% C2% A7% C2% A8% C2% A9% C2% АА% C2% AB% C2% AC% С2 % AD% C2% АЕ% C2% AF% C2% B0% C2% B1% C2% B2% C2% B3

Но фактические входные данные A? A? A? A¤A? A|A§A? © A? А

Также вы можете увидеть это на скриншоте отладчика.

http://bit.ly/qIWFLj

Я думаю, что проблема может быть в конвертере сообщений Spring для контента application / x-www-form-urlencoded. Я не мог найти, какой конвертер сделал такое преобразование для входных данных.

Я использую Apache Tomcat версии 6.0.26.

web.xml - bit.ly/ph0t7j

Спасибо за ваше время. Буду очень признателен за любую помощь

1 Ответ

1 голос
/ 20 октября 2011

Я решил эту проблему.

Решение

Я переместил фильтр кодирования в файле web.xml на первое место в цепочке фильтров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...