마니의 공부방/개발 꼼수

[jsp] 파라미터 한글깨짐현상

GET으로 보낼때 한글깨짐
server.xml에 URIEncoding="EUC-KR" 이나 URIEncoding="UTF-8" 추가

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="EUC-KR"/>

POST로 보낼때 한글깨짐
모든 jsp와 servlet에서 request.getParameter를 호출하기전에 characterEncoding을 지정해줌
request.setCharacterEncoding("EUC-KR");

이게 싫다면...
web.xml에 필터를 추가해준다
톰캣 6.0인경우 예제 경로는 apache-tomcat-6.0.18\webapps\examples

1. web.xml에 다음을 추가해준다
<filter>
        <filter-name>Set Character Encoding</filter-name>
        <filter-class>filters.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>

2. 필터클래스를 만들어줌
예제경로는 apache-tomcat-6.0.18\webapps\examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.java

프로젝트홈\WEB-INF\classes\filters\SetCharacterEncodingFilter.java
에 복사해서 넣어놓자.