[Spring] Application.properties 한글깨짐

600g (Kim Dong Geun)·2021년 5월 17일
0

스프링 프로젝트를 구성하던 중 local,dev,real별 환경설정을 하다가 간단하게

public void test(@Value("${profile}")String currentProfile){
	log.info("profile={}",currentProfile);
}

을 했는데 자꾸 한글이 깨지는 것이었다.

처음에는 intellij나 slf4j에서 한글을 받아들이지 못하는구나 생각해서 다음과 같은 방법을 취해봤다.

종류방법
inteliij-VmOption -dFile.encoding=UTF-8
log4back(slf4j 구현체)logback.xml, logback-spring.xml 에 appender에 utf-8 추가하는 방법

아무리 해도 안되서 근본적으로 의문이 들었다..

아 혹시 Application.properties에서 콘솔로 변환하는 과정에서 utf-8로 변환해서 안주는것 아닌가 하는 의문이 들었고..
Intellij의 간단한 설정을 통해서 해당 문제를 해결할 수 있었다.

근데 생각해보니 application.properties에 한글을 사용할 일이 몇이나 되겠는가...

해당 부분 체크 해주는 것으로 해결할 수 있었다...

따라서 정리하자면...

문제발생이유

Standard Java API 들은 ISO-8859-1 기반으로 데이터를 저장하는데, 이는 한글을 지원하지 않는다.
따라서 한글 데이터 출력시 깨지게 된다.

해결법

위에 서술했으나, properties 파일의 저장을 UTF-8로 encoding할 수 있도록 한다.

profile
수동적인 과신과 행운이 아닌, 능동적인 노력과 치열함

0개의 댓글