Java

JVM -Dfile.encoding 옵션과 문자열 변화 비교

개발자-H 2021. 2. 4. 05:42
file.encoding 파일 문자열 인코딩 타입을 결정 하는 옵션이다.

 

서비스 개발시 의도치 않게 한글 꺠짐 현상이 보이는 경우가 있다. 

이런 경우 십중 팔구 송신측과 수신측의 문자열 인코딩 타입이 맞지 않아서 생기는 문제이다.

아래의 예제는 "한" 이라는 문자열이 인코딩 타입에 따라 바이트코드로 변환 될떄 어떻게 나오는 지에 대한 예제이다.

 

 

 

JVM은 실행 환경에 따라 문자열 인코딩 영향을 받는데 별도로 지정해주지 않으면 한글 깨짐의 원인이 될 수 있다.

 

아래는 JVM 파일 인코딩 옵션을 지정하지 않았을 시, Ubuntu 와 Windows Terminal에서의 실행 결과이다.

 

  • Windows (MS949)

  • Ubuntu (UTF-8)

 

한글 깨짐 현상은 DB에서 데이터 조회 시에도 간혹 발생하는데 송수신측 인코딩 타입이 맞지 않아 생기는 문제이다.

 

배포환경 및 시스템 셋팅 시, 문자열 옵션이 있다면 UTF-8로 지정하고 사용하는 것이 좋을 것 같다. (특히 윈도..)