windows 系统中,命令行里使用java -jar 运行 jar包,中文乱码.目前已知从三方面入手
- pom.xml中指定编码设置项目本身的编码方式
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
- cmd命令行中加入 -Dfile.encoding=utf-8 ,跟第一种设置的区别是什么,还需大神指导
java -Dfile.encoding=utf-8 xxxxxxx
- windows默认的编码方式不是utf-8,因此打开命令行窗体后,使用命令chcp 65001 设置使用utf-8编码
chcp 65001
每次都这么输入很麻烦,windows下,可以从注册表中进行修改命令行的默认参数,比如字符集.
新建一个cmd.reg,内容输入如下:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
"CodePage"=dword:0000fde9
"FontFamily"=dword:00000036
"FontWeight"=dword:00000190
"FaceName"="Consolas"
"ScreenBufferSize"=dword:232900d2
"WindowSize"=dword:002b00d2
运行这个cmd.reg修改注册表
image.png
PS:我遇到的问题是,在pom.xml中指定了编码,同事的mac中中文无乱码,windows下中文乱码,因此使用了 chcp 65001 解决了问题.
有个朋友提到了使用 set names utf-8 这个可以了解下.
参考:
https://blog.csdn.net/gyz666/article/details/68065110
https://blog.csdn.net/taoshujian/article/details/60325996
https://jingyan.baidu.com/article/6fb756eca32b60241958fb76.html
https://blog.csdn.net/qq_22512533/article/details/75408984
网友评论