본문 바로가기
Web Programming/Servlet

[Tomcat] Tomcat을 실행했을 때 톰캣 Log의 글자(특히 한글)가 깨져서 나오는 경우의 문제 해결

by gf0308 2022. 4. 9.

윈도우에서 톰캣을 설치해서 'startup.bat'을 클릭하면 톰캣 서버 프로그램이 실행되는데

실행 로그에서 한글이 깨져서 출력되는 경우가 있다.

이를 해결하기 위해선

- 톰캣 자체의 문제인지

- 아니면 윈도우 콘솔 출력 상에서의 문제인지

에 따라 다른 해결방법이 나올 텐데,

이번 경우엔 '윈도우 콘솔 출력 상에서의 문제' 일 경우 때 해결방법을 다루었다.

 

일단 윈도우 콘솔 출력에서의 문제인지 확인하는 방법은 다음과 같다.

 

1. 톰캣 로그 폴더 logs에 들어가서 톰캣 자체 로그는 문제없이 출력되는지 확인

이 경우엔 톰캣 로그 자체는 글자 깨짐 없이 만들어지고 있음을 알 수 있다.

 

 

2. 톰캣이 로그를 생성할 때 내용 파일의 인코딩 설정이 무엇인지 확인한다

UTF-8 임을 확인

 

 

3. 톰캣 실행 콘솔 창 설정 들어가서 '현재 코드 페이지' 설정 확인하기

현재 코드 페이지가 인코딩 설정이다.

인코딩 설정이 949로 UTF-8과 일치하지 않는다

이로 인해 윈도우 콘솔창에서 출력 시 폰트가 깨진 것이다.

 

-> 해결방법은 윈도우 콘솔창에서 출력 시 사용할 인코딩 설정을 'UTF-8'으로 설정해주는 것이다.

 

 

4. 윈도우 레지스트리 설정에 들어간다

 

5. Console 폴더에서 'Tomcat' 폴더를 생성해준다

 

* 이때 유의해야 할 점: 폴더명은 '콘솔 창의 이름'과 동일하도록 생성해줘야 함. ex) Tomcat

 

폴더를 생성하는 방법은 '마우스 우클릭 -> 새로 만들기 -> 키(K)'

 

6. 폴더를 만들었으면 안에서 설정 내용을 만들어준다

 

7. 설정을 클릭해서 세부사항을 작성하고 저장한다

 

8. 톰캣을 재시작하고 로그를 확인해본다

-> 이제 한글 깨짐 없이 정상적으로 출력된다.

 

 

*톰캣 콘솔 창 설정에 들어가 보면 이제는 코드 페이지가 UTF-8로 뜸

 

 

 

#정리

톰캣이 로그를 작성할 때 인코딩 설정과

윈도우 콘솔 창이 내용 출력할 때 인코딩 설정이 일치하지 않아 충돌이 난 경우엔

이와 같은 방법으로 해결할 수 있다.

 

 

 

*(Tip) 레지스트리 편집기 화면에서 나중에 바뀌는 것들

해당 콘솔창에서 각종 설정 추가해주면 그때마다 알아서 자동으로 값들이 추가가 됨