티스토리 뷰

IT/Etc

Tomcat 서버에서 UTF-8 설정

Normal_One 2017. 3. 26. 14:37

  버튼을 클릭하면 GET방식으로 데이터를 넘겨주는 팝업창을 만들던 와중에 한글이 깨지는 현상이 발생했습니다. encodeURIComponent(인코딩된 URI를 반환하는 함수)로 인코딩 과정을 거친 후 넘겼는데 이상한 제 3세계 문자가 나타났습니다. 그런데 같은 방식으로 제작 된 운영 서버에 있는 팝업은 한글이 정상적으로 나타났습니다. 뭐가 문제일까 싶어서 검색해 봤는데 로컬 서버로 사용하고 있는 Tomcat 문제였습니다. Tomcat이 HTML BODY는 UTF-8로 디코딩하기에 POST방식은 문제가 없는데 URI같은 경우는 ISO-8859-1로 디코딩하기에 문제가 발생하는 것이었습니다. 그래서 같은 방식으로 제작 된 운영 서버에 있는 팝업의 경우 서버로 웹로직을 사용하고 있었기 때문에 문제가 없었던 것입니다. 이를 해결하려면 server.xml의 설정을 바꿔주면 됩니다. server.xml에서 connector 부분을 보면

1
<Connector connectionTimeout="20000" port="8095" protocol="HTTP/1.1" redirectPort="8443"/>
cs

다음과 같이 되어 있는데, 여기에 아래와 같이 URIEncoding="UTF-8"을 추가해주면 됩니다.

1
<Connector connectionTimeout="20000" port="8095" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
cs

 이렇게 변경해주면 제 3세계의 문자가 나타나지 않고 인코딩된 URI가 멀쩡하게 한글로 나오게 됩니다.


'IT > Etc' 카테고리의 다른 글

Hosts 적용이 안될 때 대처법  (0) 2018.06.23
Tomcat 서버 강제 종료  (0) 2017.03.26
Eclipse plugin- Word wrap  (0) 2017.03.26
Eclipse 단축키  (0) 2017.03.26
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday