프로그래밍/java

[java] 실행 인코딩 설정

혀끄니 2023. 8. 29. 09:00
728x90

이클립스에서는 한글이 잘 표시되지만 jar 또는 exe로 만들어 실행할 경우 한글 깨짐 현상이 발생할 수 있다.

그 이유는 JAVA를 실행할 때 기본적으로 시스템 Charset를 가지고 실행하기 때문이다.

windows의 Charset이 MS949라면 JAVA를 실행시키면 MS949로 파일을 인코딩해서 실행하게 되는 것이다.

만약 UTF-8의 Chartset를 가진 파일을 실행하게 되면 한글은 깨지게 된다.

이 경우 JAVA를 UTF-8로 실행시키면 되는데 방법은 아래와 같다.

 

import java.lang.reflect.Field;
import java.nio.charset.Charset;
 
public CText {
    public static void main() {
        System.setProperty("file.encoding","UTF-8");
          try{
              Field charset = Charset.class.getDeclaredField("defaultCharset");
            charset.setAccessible(true);
            charset.set(null,null);
        }
        catch(Exception e){
        }
    }
}

- 위 구문을 추가해주면 된다.

 

참고한 블로그

https://blog.naver.com/gurrms95

 

Deviju : 네이버 블로그

https://deviju.tistory.com/

blog.naver.com

 

728x90