반응형

java encoding 순서

System.out.println("file.encoding=" + System.getProperty("file.encoding"));
System.out.println("Charset.defaultCharset=" + Charset.defaultCharset());
System.out.println("InputStreamReader.getEncoding=" + new InputStreamReader(new FileInputStream("./PrintCharSets.java")).getEncoding());

 

1. jvm 옵션(OS 환경변수보다 최우선시 적용)

 - java -Dfile.encoding=euckr

2. env LC_ALL

- LC_ALL 이 설정되어 있으면 LC_CTYPE 값도 LC_ALL 값으로 덮어써진다.

3. env LC_CTYPE

- LC_ALL 이 설정 안되어 있으면 개별로 설정된 LC_CTYPE 적용.

4. env LANG

- LC_ALL 과 LC_CTYPE 이 설정되어 있지 않다면 LC_ALL 을 제외한 나머지 LC_* 값은 LANG 값으로 덮어써진다.

- 따라서, LC_CTYPE 은 LANG 값과 같아진다.

 

결국 linux 에서는 jvm 옵션을 설정하지 않으면 locale 명령어의 결과 중 LC_CTYPE 값이 적용된다고 보면 된다.

 

반응형

'프로그래밍 > Java' 카테고리의 다른 글

Java Stream 설명  (0) 2023.05.26
Stream reduce 간단 설명  (0) 2023.05.20
[JAVA] java.lang.UnsatisfiedLinkError: no net in java.library.path  (1) 2021.06.25
Too many open files  (2) 2021.06.14
환경변수 값 읽어오기.  (0) 2021.04.05

+ Recent posts