cmd执行Java指令运行jar包出现中文乱码解决办法

Java基础 潘老师 1年前 (2023-03-20) 1000 ℃ (0) 扫码查看

今天在做项目时遇到一个非常头疼的问题——我已经在Java代码中将编码统一为UTF8,但是当我将其打包成Jar文件后,通过Bash和CMD运行时,却出现了中文乱码问题。这让我感到很困惑,因为在IDE中运行时完全没有问题。类似如下图:

起初是觉得Java编译时编码出现了问题,但经过几小时的排查,终于找到中文乱码问题的根源——cmd/bash默认的编码是GBK。为了防止日后再踩坑,本文记录问题的解决方案。

一、设定cmd的编码为utf-8

打开cmd,输入以下命令

chcp 65001

这样既可以更改cmd的编码为UTF-8了。

ps:以下是常用的cmd编码

二、规定执行java时的编码方式

在cmd下,常见运行Jar包的命令如下

java -jar myproject.jar

但这样可能会使得java运行时编码不正确导致的报错,这时候我们可以将运行Jar时,指定编码参数

java -Dfile.encoding=utf-8 -jar myproject.jar

三、将以上命令打包成bat

每次启动项目都要进行如上两步的话,其实会非常麻烦,我们可以将以上两部打包成bat批处理文件,具体步骤如下

3.1 在Jar的目录下创建一个txt文件

比如我们这里用记事本新建一个名为runMyProject.txt

3.2 文本内容修改如下

chcp 65001
java -Dfile.encoding=utf-8 -jar myproject.jar

3.3 修改文件后缀为.bat

最后我们将.txt文件后缀修改为.bat文件即可

以后我们只需要双击运行bat文件即可运行我们的java项目,而且还不会出现中文乱码的情况。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/5913.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】