在使用JPowershell遇到中文乱码该怎么排查?

在使用JPowershell遇到中文乱码该怎么排查?

记录一下踩过的坑,需要用到shell执行某些指令,同时要支持Mac和windows,当然JPowershell是windows执行命令的选择;由于在Mac下开发,部署环境是windows,所以遇到了这样的问题。

1、首先排查命令是否能正常执行,到cmd中执行命令,确认命令无误。

2、如果有中文路径,就要考虑编码问题,检查jvm的字符集:

String defaultCharsetName=Charset.defaultCharset().displayName();   
System.out.println("defaultCharsetName:"+defaultCharsetName);

我的在windows下是GBK, 但是我的开发环境是UTF-8, 在UTF-8环境下是一切正常,所以我把windows下的JVM字符集改成UTF-8,一切正常。
只需要加上启动参数即可 -Dfile.encoding=UTF8

windows:

set "JAVA_OPTS=-Dfile.encoding=UTF8"

mac:

JAVA_OPTS="-Dfile.encoding=UTF8"

公众号 AlienTalk

你可能感兴趣的:(在使用JPowershell遇到中文乱码该怎么排查?)