사용하는 환경 springboot java 17
logback
우선 cmd에서 jar를 사용할때 보통의 방법으로는
java -jar "해당파일의 경로 및 파일 이름"
이렇게 사용할 것이다.
내가 이렇게 계속 사용하면서 파일이 계속 ansi가 되길래 이런 저런 방법을 사용하게 되었다.
처음 사용한 방법은 logback의 log 환경설정을
해당 방법처럼 사용하였지만
<charset>UTF-8</charset>
별 소득없이 끝났었다.
두번째로 해당 한글이 깨지는 위치를 확인했었다.
dofilter의 response와 request가 계속 깨져서 나오고 API에서 나오는 log들은 또 정상적인 한글로 나와서 logfilter를 의심하게 되었는데, 이마저도 소득없이 끝났었다.
세번째의 방법으로 넘어와서는 intelij에서의 한글 깨짐의 원인은 3가지의 원인이 있을 수 있는데,
1. intelij의 파일 세팅에서 utf-8로 바꾸기
이것도 소득이 없었다.
다만 properties의 설정이 UTF-8로 바뀌었다는 점
2.내장 톰켓에 인코딩 하기 방법
근데 나는 인텔리 제이에 톰캣을 연동 안했기 때문에 건너 뛰었다.
3. -Dfile.encoding=UTF-8을 사용하여 서비스 실행하기
여기서 가상환경(vmOption)이나 tomcat에 계속 -Dfile.encoding=UTF-8을 추가하라고 해서 사용한 방법이다.
cmd로 명령어를 입력해 해당 파일을 실행해보았을때 정상적으로 한글이 나오는것을 확인 할 수 있었다.
cmd는 utf-8기준으로 만들어 진것이 아니기 때문에 코드 페이지를 변경할 필요가 있다.
해당 방법은 임시로 변경하는 방법이다.
- chcp 65001을 입력하고 enter
- java -jar -Dfile.encoding=UTF-8 "파일 경로\파일이름"
'코딩 > JAVA' 카테고리의 다른 글
문자열 관련 합치는 방법 (0) | 2023.10.31 |
---|---|
split 마침표(.) 오류 - java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 (0) | 2023.01.25 |