用cmd命令窗口启动JAR包出现乱码、错误问题的解决方法

First Post:

Last Update:

当用DOS命令窗口写java代码进行编译时出现乱码、错误情况,如下图:

image-20221124115041702

注:我的cmd当前代码页为936简体中文(GB2312,ANSI)

image-20221124115126635

有三种方式解决,亲测有效。

第一种:通过输入chcp 65001命令修改当前代码页为UTF-8,即可输出中文字符样式,不过是临时有效的,退出命令窗口再进入当前代码页恢复为936

image-20221124115150659

image-20221124115200352

第二种:另存为java文件,将UTF-8的编码格式改为ANSI

image-20221124115217449

image-20221124115230027

image-20221124150430589

第三种:永久有效的方式,win+r,输入regedit打开注册表,按顺序找到该目录HKEY_LOCAL_MACHINE\SOFEWARE\Microsoft\Command Processor,并新建字符串值

image-20221124150459080

image-20221124150515421

image-20221124150533698

这种方式跟第一种类似,但进入命令窗口会自动更改为65001,当前代码页也是一样

备注:代码页和编码对照表如下

image-20221124150557665

总结:三种方法对解决问题都有效,但第一、三种方法对中文符号识别还是会错误、乱码,建议使用第二种为佳,根据自己的当前代码页更改java文件的编码格式。

打赏
支付宝 | Alipay
微信 | WeChat