事情起因:今天在一个spring boot项目中偶然想在控制台打印以下程序运行信息,惊讶的发现居然出现了中文乱码。随后直接重新建立了一个最基础的java项目,随便打印了两句话,神奇的事情是他居然仍然乱码。上网查询清一色的各种修改编码格式统统无效。 话不多说,直接上结论:
不要用Jdk18 !!!
不要用Jdk18 !!!
不要用Jdk18 !!!
解决办法:
1.在文件-项目结构 修改sdk版本:改为18以下
2.pom.xml文件修改(没有可忽略)
<properties> <java.version>16</java.version> </properties>
3.设置-构建.执行.部署-编译器-java编译器 修改目标字节码版本
over,大功告成
补充:我最近遇到了一个很奇怪的现象,有的时候用jdk16回乱码,但换到Jdk17却不乱码,然后再换回jdk16发现16又不乱码了???我真的。。。what???,总而言之,可以确认这个jdk的版本很有可能就是乱码的起因,大家出现乱码除了更改utf-8外可以往这方面尝试一下,但具体为什么回出现这种情况恕我学识尚浅无法解答,如果评论区有大佬可以指点一二,感激不尽。