연습 삼아 프로젝트를 만들어 보고 있는데 따로 메시지 파일(추후 국제화를 위한..)을 만들어서 html에 적용했는데 한글 적용이 안 됐다.
오류 발생 코드
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("messages");
return messageSource;
}
}
오류 수정 코드
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
@Bean
public MessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("messages");
messageSource.setDefaultEncoding("utf-8"); // 인코딩 정보 추가
return messageSource;
}
}
결론
인텔리 설정에서 인코딩을 손대고 있었는데 메시지 파일을 bean으로 등록할 때 utf-8을 안 해서 한글이 깨지던 것이었다.