information/programming & server2009/05/21 03:12
결론부터 말하면 서버 설정의 변경 없이는 get, post 방식 모두를 해결하기는 힘듬.
post 해결 방법
- WEB-INF/web.xml
-
<filter>
<filter-name>Encoding Filter</filter-name>
<filter-class>kr.co.aritaum.brand.common.CommonEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Encoding Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
CommonEncodingFilter에서 하는 일은
- if (request.getCharacterEncoding() == null) {
- if (this.encoding != null) {
- request.setCharacterEncoding(this.encoding);
- }
- }
get 해결 방법
톰켓의 conf/server.xml에서 해당 Service의 Connector 속성으로 URIEncoding="UTF-8"을 추가하면됨.
- <Connector port="8080" maxHttpHeaderSize="8192"
- maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
- enableLookups="false" redirectPort="8443" acceptCount="100"
- connectionTimeout="20000" disableUploadTimeout="true"
- URIEncoding="UTF-8" />
만약 서버 설정을 변경할 수 없다면
- String title = new String(request.getParameter("title").getBytes("iso-8859-1"), "UTF-8");
이 작업을 계속 해야할 듯. 물론 null 체크 때문에 별도 클래스를 만들게 되겠지만...
저도 밤새고 있는데 에그님 글이 이 야심한 시각에 줄줄이 올라와요 ㅋㅋㅋ
2009/05/21 04:39 [ ADDR : EDIT/ DEL : REPLY ]로마 부러워요 ㅜㅜㅜ 그렇게 싼 표가 있었음 저도 데꾸가시지 ㅋㅋㅋ
에그님의 그 나긋나긋한 목소리와 은근한 미소가 그리워요!
즐거운 학교생활 하시와요~:DDD
항상 늦게까지 메신저에 로그인 하고 계신데 그러다 몸 상해요;;
2009/05/21 18:52 [ ADDR : EDIT/ DEL ]오~ 자바도 함?
2009/05/21 15:18 [ ADDR : EDIT/ DEL : REPLY ]텀프로젝트 중에 하나가 자바라서요.ㅎㅎ;
2009/05/21 18:53 [ ADDR : EDIT/ DEL ]너무 오랜만이라 완전 삽질 중;
댓글을 달아 주세요