如何所示:
出现英文正常,中文乱码的这种情况,一般是时区不对或者是编码不对。那我们看看怎么解决吧。
一、编码
如果是编码的话,就比较好解决了。
使用 -Dfile.encoding=UTF-8这个代码只能解决指定文件的编码问题,从截图上可以看出,这不只是单个java文件的编码问题了;
解决方法如下:
1、添加新的环境变量,让每个java文件都去执行同一个编码。
鼠标右键此电脑 -> 属性 -> 高级系统设置。
以Windows 10 21H2版本为例,在关于的右侧就可以看到高级系统设置(不同系统有细微差别,不过名字都是叫高级系统设置)。
2、打开高级系统设置 -> 高级 -> 环境变量,步骤如图:
3、 打开环境变量我们可以看到有两个框,一个用户变量,一个是系统变量。我们这边添加一个新的系统变量,在系统变量下点击新建,如图所示:
4、 添加的环境变量为:
变量名: JAVA_TOOL_OPTIONS
变量值: -Dfile.encoding=UTF-8
如图所示:
5、添加完成后,点击确定,在点击环境变量对话框的确定按钮。这时我们再去cmd里面查看一下是否有用(PS:需要重新打开cmd噢)。如图:
好了,我们成功了。PS:有些电脑设置的环境变量是需要重启电脑才能生效的,如果没用的小伙伴可以重启电脑试试。
二、时区
有些小伙伴可以自己在使用电脑时,因为某些问题改过时区,这样也可以会导致出现乱码的问题,我们只需要改回来即可。
1、点开设置(Windows设置) -> 时间和语言
2、点击语言 -> 管理语言设置
3、在弹出的区域对话框中点击管理 -> 更改系统区域设置
4、在这里我们选择中文(简体,中国),并且Beta版的框取消掉(也就是没有打钩)。
5、点击确定,提示我们是否重启计算机,我们重启计算机。
等重启好后,再次去cmd中测试,这时的编码就正常了。
以上两种方法都可以实行。谢谢大家的查阅,希望对你有所帮助。