如何设置默认的Java字符编码?
file.encoding必须在JVM启动时指定该属性。通过输入你的主要方法时,编码中使用的字符由String.getBytes()和默认的构造函数InputStreamReader,并OutputStreamWriter已被永久缓存。
file.encoding
String.getBytes()
InputStreamReader
OutputStreamWriter
在特殊情况下,JAVA_TOOL_OPTIONS 可以使用环境变量来指定此属性,但通常是这样完成的:
JAVA_TOOL_OPTIONS
java -Dfile.encoding=UTF-8 … com.x.Main
Charset.defaultCharset()将反映对file.encoding属性的更改,但是核心Java库中需要确定默认字符编码的大多数代码都不使用此机制。
Charset.defaultCharset()
在编码或解码时,可以查询file.encoding属性或Charset.defaultCharset()查找当前的默认编码,并使用适当的方法或构造函数重载来指定它。