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了

也没有出现乱码情况

相关推荐
一线大码15 分钟前
Smart-Doc 的简单使用
java·后端·restful
MacroZheng2 小时前
Claude Code官方桌面端正式发布,夯爆了!
java·人工智能·后端
虚无境2 小时前
如何编写一个SpringBoot项目告警推送的Starter
java·prometheus·webhook
NE_STOP17 小时前
Vide Coding--AI编程工具的选择
java
码云数智-园园17 小时前
C++20 Modules 模块详解
java·开发语言·spring
程序员黑豆17 小时前
JDK 下载安装与配置详细教程
java·前端·ai编程
小宇宙Zz18 小时前
Maven依赖冲突
java·服务器·maven
swordbob18 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
咖啡八杯18 小时前
GoF设计模式——享元模式
java·spring·设计模式·享元模式