Java运行时jar时终端输出的中文日志是乱码
运行Jar时在控制台输出的中文日志全是乱码,这是因为cmd/bash默认的编码是GBK,只要把cmd的编码改成UTF-8即可
两种方式修改:临时修改和注册表永久修改
临时修改
只对当前的cmd页面有效,关闭后重新打开都会恢复成GBK,
打开cmd,输入以下命令
chcp 65001
这样既可以更改cmd的编码为UTF-8了。
以下是常用的cmd编码
字符编码 |
对应字符 |
GBK(默认) |
936 |
美国英语 |
437 |
utf-8 |
65001 |
这时候我们可以将运行Jar时,指定编码参数
java -Dfile.encoding=utf-8 -jar project.jar
这时候已经恢复正常了
为了方便也可以把修改编码和运行jar服务编写成bat文件,下次直接点击运行
chcp 65001
java -Dfile.encoding=utf-8 -jar project.jar
永久修改
(1)win键+R,输入regedit,确定
(2)按顺序找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor
(3)点击右键-新建,选择“字符串值”,命名为“autorun”, 点击右击修改,数值数据填写“chcp 65001”,确定
此时打开cmd已经默认是utf8了
也没有出现乱码情况