Java编译打包后运行jar包中文为乱码的解决方案

527 阅读1分钟

最近在windows上调试springBoot程序的时候,突然发现通过mvn打包后的jar,在终端通过java -jar命令运行jar后,中文打印显示为乱码。这个问题困扰了我好几天,修改代码打印编码为UTF-8。设置SLF4J编码为UFT-8,终端设置编码格式为UTF-8,各种方式尝试了一遍,都没有解决掉。

最终通过修改windows终端编码显示为UTF-8的方式解决掉此问题,详细步骤如下,希望能够帮助都和我一样遇到这个log打印中文为乱码的朋友。

1. 进入jar包所在的目录
2. 接着运行 chcp 65001
3. 最后通过命令启动运行jar

`java -jar -Dfile.encoding=utf-8 xxxx.jar`

通过以上设置后,终端打印的中文就不会出现乱码了。

最后让我们认识一下 chcp 65001这个指令是干什么的吧: - chcp 65001 这个命令是用来更改Windows控制台的代码页(Code Page),也就是字符编码设置。65001代表的是UTF-8编码。通过运行这个命令,你可以让控制台使用UTF-8编码,从而正确显示中文等多语言字符。这对于处理Java程序的输出特别有用,尤其是在打印包含中文字符的日志时,可以避免出现乱码的问题。简单来说,这一步是确保你的控制台能够正确显示UTF-8编码的字符。