Web Server/Apache Tomcat

Tomcat > 로그 파일 내 한글 깨짐 해결

Krevis 2024. 6. 10. 09:20

외장 톰캣 사용 시

정확히는 EUC-KR을 사용하는 톰캣 설정에서의 이슈다

 

setenv.sh

export CATALINA_OPTS="-Dfile.encoding=utf-8"

 

위 설정 추가 후 톰캣 재시작하면 문제 해결되었음

 

그런데 설정 아래쪽에 euc-kr로 설정된 부분이 있었다

export LC_ALL="ko_KR.euc-kr"
export LANG="ko_KR.euc-kr"

 

여기서 알 수 있는 건, LC_ALL, LANG 설정보다 file.encoding 설정이 우선한다는 것이다(결론적으로 불필요하다고 할 수 있다)

 

file.encoding 설정을 다시 제거하고, 위 설정을 euc-kr을 쓰지 않도록 해보았다

export LC_ALL="ko_KR.UTF-8"
export LANG="ko_KR.UTF-8"

 

변경 후 톰캣 재시작하니 정상적으로 한글 출력이 되었다

 

참고로 이때 CentOS의 환경변수 설정을 출력해보니 아래와 같았다

$ echo $LANG
en_US.UTF-8

echo $LC_ALL
(공백 출력됨)

 

그런데 tail로 로그 파일을 확인한 경우는 한글이 잘 출력되는데, vi로 열었을 때는 아래와 같이 한글도 아닌데 글자가 깨지는 현상이 발생했다

6ì<9b><94> 10, 2024 9:22:42 ì<98>¤ì <84> org.apache.catalina.startup.Catalina start
ì <95>ë³´: Server startup in 6958 ms

 

(정상적인 로그는 아래와 같음)

Jun 11, 2024 6:11:59 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 8077 ms

 

확인해보니 vi는 vi만의 인코딩 설정을 사용하고 있는 것 같다

 

$ vi ~/.vimrc

set encoding=utf-8
set fileencodings=utf-8,euc-kr

 

설정 변경 즉시 정상적으로 한글이 출력되었다