CharacterEncodingFilter не переводит текст Unicode в Spring MVC 3.0 - PullRequest
4 голосов
/ 17 декабря 2010

Я установил CharacterEncodingFilter в качестве первого фильтра в моем файле web.xml:

<filter>  
 <filter-name>encodingFilter</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>  
<filter-mapping>  
 <filter-name>encodingFilter</filter-name>  
 <url-pattern>/*</url-pattern>  
</filter-mapping> 

и в моих JSP это:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false" %>

и это:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

Но, например, , переданный из формы JSP обратно в контроллер и затем обратно обратно в JSP, снова становится: T%E

Я провел несколько часов поисков в Google, но не могу найти ответ на эту проблему. Любая помощь будет оценена.

Ответы [ 2 ]

3 голосов
/ 01 апреля 2011

Если вы используете Tomcat, возможно, вы не установили URIEncoding в вашем server.xml. Если вы не установите его в UTF-8, он не будет работать. Определенно держите CharacterEncodingFilter. Тем не менее, вот краткий контрольный список для подражания. Это определенно поможет вам сделать эту работу.

1 голос
/ 19 сентября 2017

Если CharacterEncodingFilter или фильтр, который вы внедрили, находится вверху web.xml, убедитесь, что элементы <filter-mapping> для CharacterEncodingFilter в xml отображаются перед другими элементами <filter-mapping> для других фильтров.

Мне потребовалось много времени, чтобы понять это. Может быть кому-нибудь пригодится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...