Проблема с кодировкой при переходе с Grails 1.3.7 на 2.0.0 - PullRequest
0 голосов
/ 26 января 2012

У нас возникла странная проблема при переносе нашего приложения с 1.3.7 на 2.0.0. Наше приложение отображает HTML, который рассматривается как UTF-8, закодированный нашими браузерами.

Когда мы вводим букву 'é' (кодовая точка: 00E9 / utf8 шестнадцатеричные байты: c3 a9) и вводим ее в контроллер, мы получаем обратно c3 83 c2 a9

Запрос хорошо закодирован (% C3% A9), но наше поле params.field возвращает то, что я только что сказал

Наше приложение 1.3.7 Grails хорошо работает на той же машине.

Мы видели эту проблему , которая кажется закрытой и обновила плагин webxml до 1.4.1, но ничего не изменилось.

Мы обнаружили, что фильтр Spring. Security-Core web.xml был объявлен перед CharacterEncodingFilter в созданном файле web.xml и попытался удалить плагин. Это не помогло.

Мы настроили приложение hello world с Grails 2.0 с тем же конфигом, но оно работает

Кто-нибудь знает, что происходит?

Вот наше приложение. Свойства

#Grails Metadata file
#Thu Jan 26 17:50:12 CET 2012
app.grails.version=2.0.0
app.name=plugin-web
app.servlet.version=2.4
app.version=0.1
plugins.hibernate=2.0.0
plugins.joda-time=1.3.1
plugins.resources=1.1.5
plugins.spring-security-core=1.2.7.1
plugins.tomcat=2.0.0

1 Ответ

1 голос
/ 27 января 2012

Хорошо, похоже, проблема с синхронизацией

Когда мы перенесли проект на 2.0.0, Grails установила плагин webxml 1.4.0 для нашего проекта. С тех пор для нас было невозможным, даже после обновления до версии 1.4.1 и очистки проекта несколько раз, заставить проект работать как задумано.

Итак, мы вернулись к резервной версии 1.3.7 и обновили до Grails 2.0. Затем Grails установил плагин webxml 1.4.1 и все работало нормально. Обратите внимание, что при переходе на версию 1.4.0 проблема снова появляется

Теперь все отлично работает. Я не знаю, где grails-2.0.0 кэшировал эти ссылки на версию 1.4.0, поскольку мы очистили проект, rm -rf'ed .m2, .ivy2, .groovy-ivy-cache в файловой системе осталась только команда rm :-D) но это больше не моя проблема

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