IT/development

[WAS] Apache Tomcat 한글 깨짐(인코딩 문제)

알 수 없는 사용자 2022. 11. 24. 06:54
반응형

목차

    Apache Tomcat  한글 깨짐

    유지보수 중인 사이트의 운영환경은 Jboss이고 로컬은 Tomcat 환경인 사이트에서

    로컬에서만 한글이 깨지는 경우가 발생해서 구글링 후 조치 후 나중에 보려고 기록함

     

    tomcat 인코딩 설정 하기전 (asIs)

    아래처럼 한글값이 깨져서 나온다.

    아래처럼 db에는 한글이 정상적으로 들어가 있고

     

    그 값을 서버단에서 가져왔을 때도 한글이 깨지지 않는다.

     

    이를 jstl로 화면에 출력 했을 때에만 저렇게 표시가 되는 경우이다.

     

    아래 블로그에서 참조 했습니다.

    일단 다른 블로그 참조해도 tomcat 관련 설정 3가지를 고치란 거였다.

     

    1번 째 방법

    tomcat의 server.xml의 Connector태그 수정(나는 GET방식일 때 한글깨짐이라 이것만 고쳐서 해결 되었다.)

    이 부분은 GET방식일 때 해당된다고 한다.

    <Connector connectionTimeout="20000" port="9191" protocol="HTTP/1.1" redirectPort="" relaxedQueryChars="[,]" URIEncoding="UTF-8"/>
    
    URIEncoding="UTF-8" 이 부분 추가 했다.

     

    1번만으로 해결 되었지만

    2번 째 방법 나머지 설정은 tomcat의 web.xml에 아래 filter태그 주석 해제

    아래처럼 POST Request 시라고 적혀 있다.(POST방식에서 한글 깨질 때 주석해제 하면 된다.)

     

    마지막으로 Tomcat 실행 옵션에 -Dfile.encoding=UTF-8로 tomcat 실행 시 UTF-8로 실행 하는 것이다.

    eclipse환경에서는 아래처럼 하면 된다.

    서버에서 톰캣 더블클릭 > Overview > Open launch configuration > Arguments에서

    "-Dfile.encoding=UTF-8" 추가 후 Ally 후 ok

    그리고 tomcat 재시작

     

    다시 페이지 호출 시 아래처럼 한글이 정상 표시 됨(toBe)

    보안상 앞자리는 ppt로 가렸다.

     

     

    참조 : 삼바의 성장 블로그, "2020.06.18", https://sambalim.tistory.com/135

     

    Apache Tomcat 인코딩 문제 해결방법

    <!doctype html> UTF 8 4dabd1fbdfb84424a48ef20961702e1a UTF-8 인코딩 문제 sever.xml Tomcat{Version}\conf\server.xml 을 메모장 혹은 사용하는 에디터로 실행합니다. server.xml 파일 내부의 태그 내에 URIEn..

    sambalim.tistory.com

    반응형