powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF - проблема с кодировками!
8 сообщений из 8, страница 1 из 1
JSF - проблема с кодировками!
    #37729731
osvaldv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток уважаемые знатоки! Опишу суть проблемы. Использую в качестве среды NetBeans 7. Делаю пример из книги по jsf - JavaServer Faces (авторы Гэри и Хорстманн). Есть две страницы jsf. На первой мы вводим имя пользователя и пароль, затем нажимаем на кнопку Далее (введенные значения сохраняются в бине) и попадаем на вторую страницу, где отображается приветствие типа "Привет (имя пользователя)!". Имя пользователя берется из бина, у бина время жизни - сеанс. Вопрос - как сделать, чтобы при вводе русских букв они сохранялись и отображались нормально? Пока что отображается что то типа этого мир.
...
Рейтинг: 0 / 0
JSF - проблема с кодировками!
    #37729833
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставить на страницах кодировку UTF-8
...
Рейтинг: 0 / 0
JSF - проблема с кодировками!
    #37729843
osvaldv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

она стоит по умолчанию. Но это не помогает. Иногда отображается нормально, а иногда нет.
...
Рейтинг: 0 / 0
JSF - проблема с кодировками!
    #37729889
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторона стоит по умолчанию. Но это не помогает. Иногда отображается нормально, а иногда нет.

А я вот не уверен, многие контейнеры как-то наплевательски относятся к установке кодировки. Вы в дебаге точно видели что у response.getCharacterEncoding() возвращает UTF-8? Советую написать свой фильтр, который в начале реквеста принудительно устанавливает кодировку через response.setCharacterEncoding("UTF-8") и скажите что получится. Просто ваша проблема довольно типична, и я решал написанием своего фильтра.

С другой стороны ваша фраза авторИногда отображается нормально, а иногда нет. меня весьма смущает, ибо в моем случае не отображалось в 100%, так что дело может быть сложнее, но почему-то мне кажется что вы или что-то недоговариваете, или где-то ошиблись.
...
Рейтинг: 0 / 0
JSF - проблема с кодировками!
    #37729891
osvaldv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
она наверное не стоит, кодировка utf 8. Как её поставить? Объявить тег <meta>?
...
Рейтинг: 0 / 0
JSF - проблема с кодировками!
    #37729919
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
package fi.foo.filters;

  import java.io.IOException;
  import javax.servlet.Filter;
  import javax.servlet.FilterChain;
  import javax.servlet.FilterConfig;
  import javax.servlet.ServletException;
  import javax.servlet.ServletRequest;
  import javax.servlet.ServletResponse;

  public class CharsetFilter implements Filter
   {
   private String encoding;

   public void init(FilterConfig config) throws ServletException
   {
    encoding = config.getInitParameter("requestEncoding");

    if( encoding==null ) encoding="UTF-8";
   }

   public void doFilter(ServletRequest request, ServletResponse response, FilterChain       next)
   throws IOException, ServletException
   {
    // Respect the client-specified character encoding
    // (see HTTP specification section 3.4.1)
    if(null == request.getCharacterEncoding())
      request.setCharacterEncoding(encoding);


    /**
 * Set the default response content type and encoding
 */
 response.setContentType("text/html; charset=UTF-8");
 response.setCharacterEncoding("UTF-8");


    next.doFilter(request, response);
   }

    public void destroy(){}
   }



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<!--CharsetFilter start--> 

  <filter>
    <filter-name>CharsetFilter</filter-name>
    <filter-class>fi.foo.filters.CharsetFilter</filter-class>
      <init-param>
        <param-name>requestEncoding</param-name>
        <param-value>UTF-8</param-value>
      </init-param>
  </filter>

  <filter-mapping>
    <filter-name>CharsetFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>



Этого должно хватить, бывает что возникают еще более экзотические проблемы, тогда вам сюда - http://stackoverflow.com/questions/138948/how-to-get-utf-8-working-in-java-webapps
...
Рейтинг: 0 / 0
JSF - проблема с кодировками!
    #37729935
osvaldv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

спасибо большое за совет! Сейчас буду пробовать.
...
Рейтинг: 0 / 0
JSF - проблема с кодировками!
    #37731018
osvaldv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,

большое спасибо. Ваше решение помогло. Изначально кодировка не задавалась на jsf страницах. А как интересно задать кодировку на странице? Использовать тэг <meta>? (Интересно для общего развития).
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JSF - проблема с кодировками!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]