VScode接收java字符串乱码问题

如图,在VScode这款软件里Scanner接收语句出现了无法接收判断,经过测试数字可以正常接收判断,中文和英文都不行,我尝试过用GBK编码来运行,也尝试过改终端的chcp,也尝试过VScode里的launch.json文件里对应类下设置GBK运行,但都以失败告终,想不到解决办法了,99可怜程序娃吧,图1为源代码,图2为终端

img

img

字符串 比较,肯定不能用 == 啊【这是比较的 地址】, 要用 equals 【这才是比较的值】

if ("xxx".equals(str2)) {

}

1: 在Java 编译命令加上编码,比如:javac -encoding utf8 Test.java
2:注意vscode的编码

img

【以下回答由 GPT 生成】

我了解到您在使用VScode中遇到了无法正确接收字符串的问题。这可能是由于编码设置不正确引起的。以下是一些解决该问题的可能方法:

  1. 确保源代码的文件编码与要读取的文件的编码一致。在VScode中打开源代码文件,在编辑器底部栏中可以看到当前文件的编码格式。如果您的文件是以UTF-8编码保存的,那么确保在读取文件时也使用UTF-8编码。

  2. 确保终端的默认编码与源代码文件的编码一致。在终端中运行chcp命令可以查看当前的终端编码。如果编码与源代码文件不匹配,可以使用chcp命令来更改终端的默认编码。例如,如果编码为GBK,则可以运行chcp 936来设置终端编码为GBK。

  3. 修改VScode的launch.json文件以设置正确的编码。打开launch.json文件,在调试配置中找到您要运行的类所对应的配置。在该配置中,添加一个console属性,并设置其值为正确的编码。例如,如果要使用GBK编码运行,可以添加以下配置:

"console": "externalTerminal",
"args": [
    "-Dfile.encoding=GBK"
]

这将在外部终端中以GBK编码运行程序。

  1. 确保您的Java文件中使用了正确的编码。在源代码文件的顶部,使用javac命令添加注释来指定文件的编码。例如,如果文件使用GBK编码,则可以添加以下注释:
// 在顶部添加注释
// -*- coding: gbk -*-

请尝试上述方法,看看能否解决您的问题。如果问题仍然存在,请提供更多详细信息,以便我能够更准确地帮助您解决问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^