Backend/JSP

한글 깨짐 처리(URIEncoding="UTF-8")

Jeffrey Oh 2019. 11. 13. 11:35
반응형

한글 깨짐 처리(URIEncoding="UTF-8")


 

Tomcat에서 한글 encoding을 설정하는 방법은 요청 메써드 (GET or POST)에 따라 다르다.

 

get 방식

 

Tomcat의 sever.xml 을 열고

 

<Connector port="9090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" />

 

 

기본적으로 톰캣은 ISO-8859-1 인코딩 한다.

 

post 방식

 

web.xml 아래와 같이 filter class 를 등록한다.

 

<!-- UTF-8 설정 -->
<display-name>Encoding</display-name>
<filter>
  <filter-name>Set Character Encoding</filter-name>
  <filter-class>filters.SetCharacterEncodingFilter</filter-class>
  <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
</filter>
 
<filter-mapping>
  <filter-name>Set Character Encoding</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

 

 

Spring Framework을 사용한다면, web.xml에 아래와 같이 이미 Spring에서 구현한 filter 클래스를 등록하기만 하면 된다.

 

<!-- UTF-8 관련 파라미터 설정 -->
<filter>
  <filter-name>encodingFilterUTF8</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>encodingFilterUTF8</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>​

 

반응형