Кодирование в JSF 2 + Tomcat 7

У меня есть одна форма только с одним полем. Когда я отправляю форму, значение моего поля становится странным. Слово Extremação становится Extremação.

Итак, я уже установил кодировку UTF-8 во всех местах своего приложения:

<?xml version="1.0" encoding="UTF-8"?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<f:view contentType="text/html" encoding="UTF-8">
<h:form id="formParamSupremo"  prependId="false" acceptcharset="UTF-8">

Я также создал один фильтр кодирования:

request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");

И мой http-заголовок выглядит так:

host = localhost:8080
user-agent = Mozilla/5.0 (X11; U; Linux x86_64; pt-BR; rv:1.9.2.23) Gecko/20110921
user-agent = Mozilla/5.0 (X11; U; Linux x86_64; pt-BR; rv:1.9.2.23) Gecko/20110921        Ubuntu/10.04 (lucid) Firefox/3.6.23
accept = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
accept-language = pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3
accept-encoding = gzip,deflate
accept-charset = ISO-8859-1,utf-8;q=0.7,*;q=0.7
keep-alive = 115
connection = keep-alive
referer = http://localhost:8080/parametros/view/xhtml/parametrosSupremo.jsf
cookie = JSESSIONID=6DC0C1D4434FB90C3F9271D6C54DC575
content-type = application/x-www-form-urlencoded
content-length = 185

person Paulo Vitor Braga Pessoa    schedule 30.09.2011    source источник
comment
Слово Extremação становится Extremação. Где именно вы проверяете значение? В базе данных? Или с помощью System.out.println() в вашей среде IDE? Или на странице результата в браузере? Вы используете JSP или Facelets?   -  person BalusC    schedule 30.09.2011
comment
Вы отредактировали свой пост, но не ответили на мой комментарий выше. Почему? Разве ты не хочешь помочь нам помочь тебе?   -  person BalusC    schedule 30.09.2011
comment
Я проверяю значение в своей среде IDE (метод установки). Я использую фейслеты.   -  person Paulo Vitor Braga Pessoa    schedule 30.09.2011
comment
Какая IDE? Затмение? А как ты его проверяешь? По System.out.println() или в представлении переменных отладчика? Как значение выглядит в веб-браузере после отправки?   -  person BalusC    schedule 30.09.2011
comment
Да, я проверяю отладчик eclipse. Когда загрузка страницы завершается, значение поля равно Extremação.   -  person Paulo Vitor Braga Pessoa    schedule 30.09.2011
comment
Каково значение заголовка Content-Type ответа HTTP? (вы показали только заголовки HTTP-запроса). Какой браузер вы используете? У MSIE есть серьезная проблема с acceptcharset.   -  person BalusC    schedule 30.09.2011


Ответы (1)


У меня та же проблема.

Наконец-то я нашел решение этой ошибки. Вы должны создать фильтр для отображения символов, отличных от ascIi. Какие досадные баги :(

http://dertompson.com/2007/01/29/encoding-filter-for-java-web-applications/

person Hung Phan Dang    schedule 25.04.2012
comment
Этот тоже решил мою проблему. Спасибо Хунг, спасибо Пауло Витор. - person dannyxyz22; 15.06.2012