안녕하세요. 가이드라인입니다.
euc-kr 톰캣 초기 세팅시 get/post 메소드로 넘어오는 Parameter값 한글이 깨어질때
한글 처리 방법은 각각 다양하고 여러 방법이 있어 자신이 평소에 즐겨 세팅 해 왔던
방식으로 구현하는 것이 좋습니다. 서비스 이용법은 참조 사항입니다.
Filter에 관한 방법을 물어 보는 유저분이 있어 아래와 같이 설명해 드립니다.
http://archive.apache.org/dist/tomcat/ 사이트에 톰캣 버전별로 있습니다.
원하시는 버전을 다운로드 받으시고 설치 해 보시면 webapps/examples 예제 파일이
많이 있으니 참조 해 주시길 바랍니다.
get 방식으로 한글이 깨어질때 $CATALINA_HOME/conf/server.xml 파일에
Connector 연결 구문에 자신에 맞는 URIEncoding="euc-kr",URIEncoding="UTF-8" 으로 설정을 해 주면 됩니다.
(가이드라인 단독톰캣 유저는 바로 가능하지만
공용톰캣 유저는 8859_1,euc-kr 서버로 나누어 세팅이 되기 때문에 따로 설정을 하실 필요는 없습니다.)
URIEncoding 을 이미 정의 해 놓아도 post 된 폼 테이터를 해당 플그래를 사용하지 않기 때문에
여러가지 방법으로 한글을 처리 하고 있습니다. 그중 하나인 Filter 사용법을 알아 보겠습니다.
post 방식으로 한글이 깨어지는 현상을 filters.SetCharacterEncodingFilter 으로
간단하게 설정을 할 수 있습니다.
[가이드라인 공용톰캣 사용자]
1. 계정밑 www/WEB-INF/classes 폴더 밑에 SetCharacterEncodingFilter.java 파일을 생성한다.
2. 컴파일 한다.
cd www/WEB-INF/classes
javac SetCharacterEncodingFilter.java -d .
cd filters/
SetCharacterEncodingFilter.class 파일이 있으면 된다.
3. www/WEB-INF/web.xml 파일에 <filter> 항목을 추가한다.
* 단독톰캣을 사용할때는 각각 사이트에 개별적으로 설정하지 않고
단독 서버에서 바로 설정을 할 수 있습니다.
설정 방법은 동일하며 설정 경로만 다릅니다.
1 $CATALINA_HOME/common/classes 폴더에 SetCharacterEncodingFilter.java 파일을 생성한다.
2. cd $CATALINA_HOME/common/classes
javac SetCharacterEncodingFilter.java -d .
cd filters/
SetCharacterEncodingFilter.class 파일이 있으면 된다
3. $CATALINA_HOME/conf/web.xml에 <filter> 항목을 추가한다.
* 우선은 개별 사이트 개인환경변수 밑에서 각각 작업을 추천한다.
단독톰캣 경우에 동일한 패턴의 사이트만 있다면 톰캣 서버에서 바로 처리 하는 것이 좋지만
추가 되는 Host 환경을 다르게 구현해야 할때도 있기 때문입니다.