Spring MVC + Tomcat 한글 문제 on IntelliJ 12

1. AbstractAnnotationConfigDispatcherServletInitializer 에서는 당연히 UTF-8 로 CharacterEncodingFilter를 넣어줬음.
    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter characterEncodingFilter =
            new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("utf-8");
        return new Filter[] { characterEncodingFilter };
    }

2. JSP에도 인코딩 설정해 주고..
    <%@ page contentType="text/html; charset=utf-8" %>
    <%@ page pageEncoding="utf-8" %>


3. 근데 Tomcat Console 에서 한글이 제대로 나오지 않는 문제가 있어 톰캣 VM Option으로 -Dfile.encoding=utf-8로 줌


4. Spring MVC에서 파라미터를 URI로 받았을 때 한글이 깨짐. 즉,

    @RequestMapping(value="/search/", method=RequestMethod.GET)
    public String search(@RequestParam("q") String query, Model model ) {
    ... System.err.println("query="+query);
    }

query 를 출력해보면 한글이 깨짐. 이는 Tomcat의 Connector에서 URI 설정을 해주어야 함. 
$TOMCAT_HOME/conf/server.xml 파일에 다음과 같이 URI 설정을 해주었음.
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8"
               />


역시나 자바는 설정이 반..

댓글

이 블로그의 인기 게시물

pandas.read_csv() 에서 왠만하면 컬럼타입을 지정하자

스프링 컨텍스트 설정파일과 URI 경로를 제대로 못찾는 삽질