2014-02-24 1 views
0

Spring MVC을 사용하여 REST 서비스를 구현 한 검색을 수행했으며 응답은 JSON입니다. 응답에는 검색어가 포함 된 href (자기 등)가 포함됩니다. 중국 검색어가하는 HREF에서 제대로 표시되지 않는, 그것은 다음과 같이 표시됩니다스프링 MVC 응답에서 중국어 문자가 올바르게 표시되지 않습니다.

% E5의 %의 A4의 %의 AA의 %의 E9 %의 99 % BD %의 E7 %의 B3 %의 BB %의 E4 %의 B8의 %의 AD

내가 URLEndoer.encode(myString, "UTF-8")를 사용하여 시도했지만 작동하지 않았다.

편집 나는 근본 원인을 발견

, 그것은 문제를 일으키는 New URI(myparams).toAsciiString()를 호출했다.

+0

월이 응답 도움 당신 : http://stackoverflow.com/questions/5408340/spring-mvc-can-not-decode-chinese-characters –

답변

1

CharacterEncodingFilter 클래스를 사용해야합니다. 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> 
0

응답에 설정된 content-type 헤더 란 무엇입니까? 브라우저의 개발자 도구를 사용하여 HTTP 응답을 확인하여 확인할 수 있습니다.

이 있어야한다 : application/json; charset=UTF-8

관련 문제