[Intellij/Tomcat] 로그 한글 깨짐 해결 방법 (vm options 수정 안될 때)

febCho·2024년 8월 6일
0

오류 해결

목록 보기
18/19
post-thumbnail

문제

할 수 있는 모든 방법을 다 했는데 로그에서 한글이 깨졌다. 이 게시물은 내가 해결한 다양한 방법들을 기록해 보는 과정이다.

방법 1 - vm options 수정

당연히 제일 먼저! vm options에 아래 코드를 추가해 주었다. 응 안돼~ ㅠ

-Dfile.encoding=UTF-8
-Dconsole.encoding=UTF-8

방법 2 - vm options 수정 2

-Duser.language=kr
-Duser.region=KR

그리고 뒤지고 뒤지다가 위 코드 2개를 더 추가하면 해결 된다는 경우가 있어서 시도해 보았다. 그런데 한글은 안 깨지는데 영어로 나오더라.

대체 kr인데 왜.... 왜....

방법 3 - ubuntu locale LANG 설정

  1. 아래 경로(Microsoft Store)에서 ubuntu를 설치한다.
    ▶ 다운로드 경로

  2. 만약 나와 같이 error: 0x8007019e 오류가 난다면, Windows 기능을 켜야 한다.

  3. 그리고 'Windows 기능 켜기/끄기'를 Windows 검색창에 검색해 Linux용 Windows 하위 시스템을 찾는다.

    만약 이미 체크가 되어 있는 경우라면,
    1) 체크를 해제한 뒤 확인을 누른다. 서버를 재시작하도록 한다.
    2) 다시 접속해 체크한다. 확인을 누르고 서버를 재시작한다.

  4. 그렇게 하면 Ubuntu를 다시 실행했을 때, 아래와 같이 화면이 바뀐 것을 알 수 있다. 화면이 바뀌어 UNIX username과 password를 입력하라고 하면 원하는 대로 입력하면 된다.

  5. 그리고 locale을 입력했을 때, 아래와 같이 LANG이 비어 있다면 아래 명령어를 실행해본다.

$ locale
LANG=
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_ALL=
실행 명령어)
sudo apt-get install language-pack-ko
sudo locale-gen ko_KR.UTF-8
sudo dpkg-reconfigure locales

그리고 명령어를 실행했을 때 아래와 같은 화면이 뜬다면, 엔터를 치면 넘어간다.

그 다음 locale을 입력했을 때 아래와 같이 화면이 뜬다면 설정이 완료된 것이다. 하하 하지만 이 방법으로는 해결되지 않았다.

방법 4 - catalina.bat 파일 수정


bin 폴더에 있는 catalina.bat 파일에 아래 코드를 추가했다.

set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% "-Dfile.encoding=utf-8"

역시나 해결이 되지 않았다 하하..
그리고 검색하다 보니 배치 파일을 건드리는 게 좋지 않다는 말이 있어서 이 코드는 뺐다.

해결 - logging.properties 수정

  1. Tomcat 설치 경로/conf/logging.properties 파일을 메모장으로 연다.

  2. 아래 코드가 UTF-8로 되어 있다면 전부 EUC-KR로 변경한다.

catalina.org.apache.juli.AsyncFileHandler.encoding = EUC-KR
localhost.org.apache.juli.AsyncFileHandler.encoding = EUC-KR
manager.org.apache.juli.AsyncFileHandler.encoding = EUC-KR
host-manager.org.apache.juli.AsyncFileHandler.encoding = EUC-KR
java.util.logging.ConsoleHandler.encoding = EUC-KR
  1. 만약 나와 같이 이미 EUC-KR이라면 혹은 UTF-8로 변경해도 달라지지 않는다면 전부 주석 처리 한다.
#catalina.org.apache.juli.AsyncFileHandler.encoding = EUC-KR
#localhost.org.apache.juli.AsyncFileHandler.encoding = EUC-KR
#manager.org.apache.juli.AsyncFileHandler.encoding = EUC-KR
#host-manager.org.apache.juli.AsyncFileHandler.encoding = EUC-KR
#java.util.logging.ConsoleHandler.encoding = EUC-KR
  1. 재실행하니 아래와 같이 한글이 잘 나오는 것을 확인할 수 있다.
profile
Done is better than perfect.

0개의 댓글