栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于IDEA编写JDK18,控制台输出中文问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于IDEA编写JDK18,控制台输出中文问题

关于IDEA编写JDK18,控制台输出中文问题 重点:JDK18用的是GBK编码,可能跟之前的不一样

JAVA小白学习使用JAVA的第一步直接被难住了。按照网上教的方法在File Encodings中将三个编码方法都换成UTF-8并不管用(包括其他的改vmoptions等等方法)
结果后来在某评论区看到JDK18编码方式是GBK。。。通过各种尝试总算解决了。
记录一下,希望能帮助到跟我一样傻的同学们- -

另外主要参考了这篇内容:https://blog.csdn.net/u011511756/article/details/107147491
其中给出的编码-解码对应表在我理解上帮了大忙!但是在实际操作中与该作者说的还是有一些出入。

具体做法
  • 第一步 在Settings-File Encodings中将上面两个Global和Project的编码都改成Default(这里Default是UTF-8还是GBK无所谓);

  • 第二步 在Help-Edit Custom VM Option中添加 -Dfile.encoding=GBK。效果是能够让第一步中Default的编码方式固定为GBK;

    这里说明一下,很多教学里说的那个在源文件bin中的idea64.vmoption中增加-Dfile.encoding=xxx跟我这一步是一样的,但是Edit Custom VM Option的优先级更高,我试了一下两者写不一样的编码方式,最后Default会变成Edit Custom VM Option中所写的。

  • 第三步 重启IDEA。因为Edit Custom VM Option中的改动需要重启软件后生效。

经过这几部我的程序输出乱码问题就解决了。进入Settings-File Encodings中查看,会发现无论刚才Default是什么,现在都固定为了GBK。

说明

关于为什么我要选Default,而不直接在File Encodings中选择确定的编码方式:
具体原因不是很明白,但是我的电脑会做产生非常奇怪的现象。如果我在那两个空选择GBK,那么我编译的第一次是可以正常输出的,但是我再编译一次就会变成乱码,经过上文给出的链接中的对比表,发现出现了编码UTF-8解码GBK的乱码。但是此时我把两个空选择为UTF-8,也是立刻点编译可以正常输出中文,但再点一次编译就变成了乱码,这次乱码是编码GBK解码UTF-8。我实在是不知道为啥- -
最后按照我上述步骤改变之后,我的电脑就不会自己瞎改编码方式。。原因我不太清楚。
PS:参考的链接中作者说File Encodings中的内容对控制台输出不会产生任何影响,但是在我的尝试中显然是有很大影响的。不知道是我理解错误还是怎样。

希望能帮到各位刚使用JDK18的同学们

环境

Windows 11
IntelliJ IDEA Community Edition 2022.1.3
JDK18

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007216.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号