환경
CentOS release 5.8 (Final)
apache-tomcat-7.0.35
현상
개발환경을 모두 utf-8로 맞추고 개발을 했지만 아무리 GET으로 api를 호출해도 한글만큼은 깨지는것이였다
물론 클라이언트에서는 utf-8로 인코딩후 요청
GET /list/?objectPath=/%ED%95%9C%EA%B8%80/ HTTP 1.1
서버는 아래처럼 spring을 사용했기 때문에 당연히 spring에서 처리해주는걸로 기대했지만 그게 아니였다 ㅡㅡ;;
org.springframework-version : 3.2.0.RELEASE
org.springframework.data-version : 1.2.0.RELEASE
org.springsecurity-version : 3.1.3.RELEASE
해결방법
처음엔 받아온 값을 utf-8로 변환시켰었다
String str = new String(value.getBytes("8859_1"), "utf-8");
당연히 잘되었음
하지만 먼가 소스상의 지저분함을 느꼈었고 다른 해결책을 알아보았다
당연히 간단한 방법이 있었음
tomcat의 server.xml에 설정만 해주면 되었다
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
결론
한글은 위대하다
댓글 없음:
댓글 쓰기