VScodeUTF8下接收中文乱码问题

特别感谢:

首先感谢@浪客带佬,感谢带佬上手实操几个小时为我解决问题,泪目

要是想省流直接跳到解决方法无效怎么办一栏

错误示例:

如图一段非常简单的接收字符串代码:

但是终端无法接收中文的字符(你干嘛~哎哟是输入,乱码是输出)如图2:

如图2可知代码的编码是UTF-8,我们输入了"你干嘛~哎哟"但是输出了乱码,而终端的编码是936(GBK),JDK版本是20

为什么不设置成65001(UTF-8)?因为936(GBK)就可以65001不行(至少在JDK17编码UTF-8终端65001情况下不行)

解决方法:

如图3,我们在JDK环境配置中把JAVA_HOME路径的20改为11或17(这两亲测有效,其他没测)

然后重新运行程序,不需要改任何东西,运行结果如图4:

没有修改除JDK版本外任何东西,第一行为我输入的内容,第二行为我输出的内容,问题就这么解决了

说实话问题就这么解决了,我和带佬都是极其无语的状态,我个人为此苦闷数天,带佬为了帮我解决问题也花了数个小时逐一排查问题,结果发现,欸~是JDK版本~,真无语啊真的无语啊

无效怎么办?

如果无效就随便创个java新文件在你的那个文件/包的外面,任何运行下如图1这种简单的代码,如果可以正常运行说明是包里有单独的编码设置或JDK设置,进设置文件改掉即可,如果还没办法,那本篇文章就对你无用了,泪目~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值