Java运行时jar终端输出的中文日志乱码两种解决方式
作者:肖潇不吃洋芋
jar包启动,今天java开发过来找,说jar包启动日志是乱码,这篇文章主要给大家介绍了关于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_MACHINE\SOFTWARE\Microsoft\Command Processor
(3)点击右键-新建,选择“字符串值”,命名为“autorun”, 点击右击修改,数值数据填写“chcp 65001”,确定
此时打开cmd已经默认是utf8了
也没有出现乱码情况
总结
到此这篇关于Java运行时jar终端输出的中文日志乱码两种解决方式的文章就介绍到这了,更多相关运行jar终端输出中文日志乱码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!