URL-кодированный символ неправильно анализируется webflow / EL / JSF

когда я отправляю символ Ö с веб-страницы, серверная часть получает Ã. Веб-страница является частью приложения Spring Webflow / JSF1.2 / Facelets. Когда я проверяю POST с помощью firebug, я вижу:

Content-Type: application/x-www-form-urlencoded 
Content-Length: 74 
rapport=krediet_aanvragen&fw1=0&fw2=%C3%96ZTEKIN&fw3=0&fw4=0&zoeken=Zoeken

Символ Ö закодирован как% C3% 96, используя эту таблицу, я вижу, что это правильное шестнадцатеричное представление UTF-8 / Unicode персонаж Ö. Однако, когда он достигает бэкэнда, символ меняется на Ã. Используя ту же таблицу, я вижу, что где-то есть код, который пытается интерпретировать C3 и 96 отдельно (или как нотацию unicode \ u). U + 00C3 оказывается Ã, 96 - невидимый символ, что объясняет это.

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

Веб-страница содержит


При отладке я вижу, что библиотека, ответственная за неправильную интерполяцию, - это jboss-el 2.0.0.GA, что кажется правильным, поскольку значение передается на сервер в выражении веб-потока:


Он помещен в flowScope следующим образом:


Не обращайте внимания на запутанный способ получения ввода формы в бэкэнд, это код, который пытается интегрировать Webflow с отчетами BIRT ... но у меня такой же симптом есть в других веб-приложениях.

Есть идеи, с чего мне начать поиск?

5
задан BalusC 10 November 2011 в 21:10
поделиться