Суббота, 2024-05-18, 11:58:05
Главная Регистрация RSS
Приветствую Вас, Гость
Форма входа
Мини-чат
Главная » Статьи » Мои статьи

Кодировка при передаче методом GET в JSP
Как и многие, я тоже столкнулся с проблемой кодировки при передачи данных методом get данных от JSP страницы в сервлет и обратно через session, на удивление post работал. Оказывается проблема в контейнере Tomcat который поумолчанию хранит в ISO-8859-1.

Решений много от фильтров и перекодирове в коде.
На мой взгляд самый простой задать в server.xml Tomcat (в секцию Connector) строки:
URIEncoding="utf-8"
useBodyEncodingForURI="utf-8"

В итоге секция будет выглядеть
Code

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"  
URIEncoding="utf-8"
useBodyEncodingForURI="utf-8"/>
Категория: Мои статьи | Добавил: CHerry (2012-10-02)
Просмотров: 1664 | Комментарии: 3 | Рейтинг: 0.0/0
Всего комментариев: 3
3 CHerry  
0
еще, в некоторых ситуациях помогает добавить в server.xml Tomcat
Код

useBodyEncodingForURI="true"

2 CHerry  
0
При использовании Spring в web.xml необходимо добавить фильтр:
Код

  <filter>
  <filter-name>characterEncodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
  <param-name>encoding</param-name>
  <param-value>UTF-8</param-value>
  </init-param>
  <init-param>
  <param-name>forceEncoding</param-name>
  <param-value>true</param-value>
  </init-param>
  </filter>

1 CHerry  
0
Это при том, что в сервлете кодировка была указана:
Код

  request.setCharacterEncoding("UTF-8");
  response.setCharacterEncoding("UTF-8");

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]