Diary - Java encoding issue
Java 어플리케이션에서 이메일을 발송하는 기능이 있었는데 특정 도메인에서 메일 제목이 ?????? 로 나오는 현상을 발견했다!! 😵
현상
staging domain에서만 메일 발송 시 수신함의 메일 제목의 한글이 ????? 로 표기가 된다.- 본문의 한글은 잘 표기된다.
원인
- staging domain 의 Java 어플리케이션은
Docker에서 구동을 하고 있었고, Docker 컨테이너의 Locale, Language 가 따로 설정되지 않아 있었다. - Java 의
MimeMessage클래스의setSubject메서드를 사용했는데 이때 타입을 지정해주지 않았다. - 본문의 경우는
charset=utf-8을 지정해주고 있었다.
해결
Docker container에 ko_KR.UTF-8 을 명시함