2010-12-17 2 views
4

나는 나의 web.xml에 첫 번째 필터로 CharacterEncodingFilter을 설정CharacterEncodingFilter 스프링 MVC에서 유니 코드 텍스트를 번역하지 3.0

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

을이 :

<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를이에

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

그러나 예를 들어 이 JSP 양식에서 컨트롤러로 다시 전달되고 다시 JSP로 돌아가십시오. T%E

몇 시간 동안 Google 검색을 수행했지만이 문제에 대한 답을 찾을 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.

+1

컨트롤러가 데이터를 데이터베이스에 저장하는 것과 같은 양식 데이터를 사용하여 작업을 수행합니까, 아니면 단순히 JSP에 다시 저장합니까? 즉, 데이터베이스 연결의 인코딩 문제 일 수 있습니까? – gutch

+1

양식을 보내고 데이터를 받으려면 아약스를 사용하고 있습니까? – Javi

+1

브라우저가 올바른 헤더를 보내고 있습니까 (Firebug를 사용할 수 있습니까?)? 양식의 메소드가 GET 또는 POST입니까? – sinuhepop

답변

3

Tomcat 사용자는 server.xmlURIEncoding을 설정하지 않았을 수 있습니다. UTF-8로 설정하지 않으면 작동하지 않습니다. 반드시 CharacterEncodingFilter을 유지하십시오. 그럼에도 불구하고 다음은 간결한 checklist입니다. 확실히이 일을하도록 안내 할 것입니다. CharacterEncodingFilter가하거나 구현하는 필터가 web.xml의 상단에있는 경우

1

, 다른 필터에 대한 다른 <filter-mapping> 요소 전에 나타나는 XML에서 CharacterEncodingFilter에 대한 <filter-mapping> 요소를 가지고해야합니다.

시간이 오래 걸렸습니다. 누군가에게 유용 할 수 있습니다.

관련 문제