使用 Arthas 在 Centos 输出的中文字符是乱码,但是在 Mac 下是正常的。
查看 Java 获取到的 defaultCharset,Centos 下是 US-ASCII,即使指定了 LANG=zh_CN.UTF-8
仍然没有改变默认编码。
Centos 下默认编码
jshell> java.nio.charset.Charset.defaultCharset()
$1 ==> US-ASCII
Mac 下默认编码
jshell> java.nio.charset.Charset.defaultCharset()
$1 ==> UTF-8
Arthas 向控制台输出内容使用的默认编码,可以通过指定 file.encoding 设置默认编码。
java -Dfile.encoding=UTF-8 -jar arthas-boot.jar