IT박스

JVM 속성 -Dfile.encoding = UTF8 또는 UTF-8?

itboxs 2020. 12. 5. 09:25
반응형

JVM 속성 -Dfile.encoding = UTF8 또는 UTF-8?


파일 인코딩을 UTF-8로 설정하기 위해 JVM (Java Virtual Machine) 속성의 값이 무엇인지 알고 싶습니다.

-Dfile.encoding=UTF8또는 -Dfile.encoding=UTF-8습니까?


[INFO] BUILD SUCCESS
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
어쨌든, 그것은 나를 위해 작동합니다 :)


다음과 같습니다.

UTF8

정의는 여기참조 하십시오 .


로케일이 UTF-8을 제안하는 Linux 플랫폼 (예 :)에서 Oracle HotSpot JDK 1.7.x를 실행하는 LANG=en_US.utf8경우 명령 줄에서로 설정하지 않으면 -Dfile.encodingJDK가 기본값이 file.encoding되고 기본값 Charset은 다음과 같습니다.

System.out.println(String.format("file.encoding: %s", System.getProperty("file.encoding")));
System.out.println(String.format("defaultCharset: %s", Charset.defaultCharset().name()));

... 산출 :

file.encoding: UTF-8
defaultCharset: UTF-8

... 디폴트가 UTF-8그러한 플랫폼에 있다고 제안합니다 .

경우 또한 java.nio.charset.Charset.defaultCharset()발견이 file.encoding되지-세트, 그것은을 찾습니다 java.nio.charset.Charset.forName("UTF-8")그렇게 "UTF8", 또한 것이다 잘 작동 잘 별명이지만, 그 문자열을 선호 제안.

java -Dfile.encoding=UTF8하이펜없이 동일한 플랫폼에서 동일한 프로그램을 실행하면 다음과 같은 결과가 나타납니다.

file.encoding: UTF8
defaultCharset: UTF-8

... 기본 캐릭터 세트가에서 정규화 된 것을 지적 UTF8UTF-8.


UTF8과 UTF-8 모두 나를 위해 작동합니다.


이것은 직접적인 대답은 아니지만 Java가 시작되는 방법에 액세스 할 수없는 경우 매우 유용합니다. 환경 변수 JAVA_TOOLS_OPTIONS를로 설정할 수 -Dfile.encoding="UTF-8"있으며 jvm이 시작할 때마다 해당 옵션을 선택합니다.

참고 URL : https://stackoverflow.com/questions/6031877/jvm-property-dfile-encoding-utf8-or-utf-8

반응형