개발을 하다보면 한 번씩 문자가 깨지는 경우가 발생한다.

생각보다 빈번하게 발생하는 문제이기에 보통 자주 발생하는 문제점을 확인해도 해결이 되지 않는 경우가 있다.

특히 같은 코드로 실운영 환경에서는 문제가 없는데, 로컬에서만 문제가 생기는 경우가 있다.


이 경우 서버단에서 문제가 발생한 것은 아닌지 확인을 해야한다.

tomcat의 Server.xml의 커넥터 설정으로 인한 문제일 확률이 있다.


기본적으로 커넥터 부분에 작성이 되어있는 내용은 아래와 같다.


<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />


여기에 URIEncoding만 추가해주면 간단히 문제를 해결할 수 있다.


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


위의 커넥터 뿐만 아니라 아래에 커넥터 부분이 하나 더 있는데,


<Connector port="8080" protocol="AJP/1.3" redirectPort="8443" />


이 부분이다.


나는 위의 커넥터 부분에만 URIEncoding을 넣었을 때 문제가 해결되지 않았었고 아래의 커넥터 부분에도 URIEncoding을 넣었었다.

이 부분은 프로젝트마다 차이가 있는지 정확히는 모르겠다.

그래서 해당 커넥터도 아래와 같이 수정.


<Connector port="8080" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />


요즘에는 몇 번 같은 문제를 해결하고 난 뒤부터는 큰 문제가 없어보이면 server.xml에서 인코딩을 먼저 확인해본다.




+ Recent posts