【Java】Win系统下, 命令提示符输出Java出现乱码

InterviewCoder

# 【Java】Win 系统下,命令提示符输出 Java 出现乱码

如何所示:

img

出现英文正常, 中文乱码的这种情况,一般是时区不对或者是编码不对。那我们看看怎么解决吧。

# 一、编码

如果是编码的话,就比较好解决了。

使用 -Dfile.encoding=UTF-8 这个代码只能解决指定文件的编码问题,从截图上可以看出,这不只是单个 java 文件的编码问题了;

解决方法如下:

1、添加新的环境变量,让每个 java 文件都去执行同一个编码。

鼠标右键此电脑 -> 属性 -> 高级系统设置。

img

以 Windows 10 21H2 版本为例,在关于的右侧就可以看到高级系统设置 (不同系统有细微差别,不过名字都是叫高级系统设置)。

2、打开高级系统设置 -> 高级 -> 环境变量,步骤如图:

img

3、 打开环境变量我们可以看到有两个框,一个用户变量,一个是系统变量。我们这边添加一个新的系统变量,在系统变量下点击新建,如图所示:

img

4、 添加的环境变量为:
变量名: JAVA_TOOL_OPTIONS
变量值: -Dfile.encoding=UTF-8

如图所示:

img

5、添加完成后,点击确定,在点击环境变量对话框的确定按钮。这时我们再去 cmd 里面查看一下是否有用 (PS: 需要重新打开 cmd 噢)。如图:

img

好了,我们成功了。PS: 有些电脑设置的环境变量是需要重启电脑才能生效的,如果没用的小伙伴可以重启电脑试试。

# 二、时区

有些小伙伴可以自己在使用电脑时,因为某些问题改过时区,这样也可以会导致出现乱码的问题,我们只需要改回来即可。

1、点开设置 (Windows 设置) -> 时间和语言

img

2、点击语言 -> 管理语言设置

img

3、在弹出的区域对话框中点击管理 -> 更改系统区域设置

img

4、在这里我们选择中文 (简体,中国),并且 Beta 版的框取消掉 (也就是没有打钩)。

img

5、点击确定,提示我们是否重启计算机,我们重启计算机。

等重启好后,再次去 cmd 中测试,这时的编码就正常了。

img

以上两种方法都可以实行。谢谢大家的查阅,希望对你有所帮助。

# 关于我

Brath 是一个热爱技术的 Java 程序猿,公众号「InterviewCoder」定期分享有趣有料的精品原创文章!

InterviewCoder

非常感谢各位人才能看到这里,原创不易,文章如果有帮助可以关注、点赞、分享或评论,这都是对我的莫大支持!

评论