본문 바로가기

Web Programming

Tomcat 한글처리 문제

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

프로그램을 하나 만들다 보니.. 이런 문제가 발생했습니다. 한글로 처리된 값을 서블릿으로 넘기는 과정에서 인코딩의 문제가 생기는 겁니다. 그래서 일부러 response 객체의 setCharacterEncoding() 메소드를 이용해서 EUC-KR 로 바꾸어 주었으나.. 별로 신통하지가 않더라구요. 그렇다면 아마 페이지에서 파라미터를 서블릿으로 전송하는 과정에서 생기는 문제가 아닐까 생각했습니다.


해외나 가버리라는 냉소적인 메시지가 왠지 기분은 좋습니다만 여튼 문제가 되는 인코딩 문제를 해결하기 위해서는 web.xml에서 필터를 사용해야 한다고 합니다.

<filter>
  <filter-name>Set Character Encoding</filter-name>
  <filter-class>com.example.filter.SetCharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>EUC-KR</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>Set Character Encoding</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

위와 같은 필터를 설정해주면 url-pattern에 해당되는 모든 페이지의 인코딩은 EUC-KR 되게 됩니다.


이렇게 변경하고 나면 잘 나오기 시작하시죠 ^^