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 персонаж Ö. Когда я проверяю POST с помощью firebug, я вижу: Content-Type: ...

, когда я отправляю символ Ö с веб-страницы, серверная часть получает Ã. Веб-страница является частью приложения 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 персонаж Ö. Когда я проверяю POST с помощью firebug, я вижу: Content-Type: ...

, когда я отправляю символ Ö с веб-страницы, серверная часть получает Ã. Веб-страница является частью приложения 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 ... но у меня такой же симптом в других веб-приложениях. Действительно ли они необходимы?

В основном, каковы спецификации для этого, потому что я не могу найти их на веб-сайте.

Все ли они считаются действительными?

a[rel="nofollow"]
a[rel='nofollow']
a[rel=nofollow]

67
задан PeeHaa 4 February 2014 в 22:19
поделиться