마음을 먹은지 채 5분이 걸렸을까..?
http://blog.outsider.ne.kr/186
JEUS를 사용하다가 톰캣으로 넘어왔더니 GET방식으로 한글 파라미터를 넘기는 것이 되지 않았다. POST전송이야 알아서 되니까 괜찮고 GET방식으로 파라티터를 넘길 때 URL Encoding과정을 거쳐야 된다. 영문,숫자는 괜찮지만 특수기호나 한글이 들어가게 될 경우 주소창에 표시되는데 문제가 있기 때문에 URL Encoding해서 보내준다.
주소창에 %BF%D5%B1%E2%C3%E1 같은 형태로 쓰여진 것을 본적이 있을텐데 이것이 인코딩을 해준 것이다. 당연히 받을때는 디코딩을 해주고... 그냥 파라미터는 엔코딩한다고 생각하는게 차라리 맘편하다.
String encode(String s,String enc) 의 형태를 띄고 있다. 첫번째 파라미터는 엔코딩할 스트링이고 두번째 파라미터는 캐릭터 엔코딩 타입이다. URLEncoder.encode("블로그","utf-8") 와 같은 형태로 사용한다. URLEncoder는 java.net에 정의되어 있다.
근데 잘 돌아가던 것이 WAS를 변경해서 톰캣 5.5로 넘어왔더니 별 짓을 다해도 한글 GET파라미터가 도저히 먹지를 않았다.
톰캣설치폴더\conf\server.xml 파일에서 90~100라인정도에 보면 다음과 같은 내용이 있다.
Define a non-SSL HTTP/1.1 Connector on port 8080
Define a SSL HTTP/1.1 Connector on port 8443
URIEncoding="utf-8"
좋다.