快捷搜索: 王者荣耀 脱发

IDEA上Java项目控制台中文乱码

一、错误说明

Java项目在 idea 上本来好好的,几天没打开,竟然全部报错,解决了报错之后又出现了其他问题,问题其中之一就是:

控制台中文乱码

具体情况,参见我的另一篇文章:

就是这篇文章的情况导致的“控制台中文乱码”。

按照网上的各种方案去解决都不行,这就影响了我代码报错解决问题吗,无奈之下,只能修改日志,中文报错改成英文,但是这个是数据迁移的代码,里面日志很多,只能先定位代码报错的大概地方,然后再去修改。虽然也解决了问题,但是很痛苦。一方面,乱码很难受,另一方面确实影响了解决问题,增大了难度。

二、解决方案

方案大致如下:

第一步,修改 idea64.exe.vmoptions 文件

在 idea 的安装目录下,找到 idea64.exe.vmoptions 文件,具体就是:

IDE 安装目录 —> bin 目录 —> idea64.exe.vmoptions

以上是针对 x86 64位电脑的,如果你的电脑是32位的,就需要修改这个文件:

idea.exe.vmoptions

不过我的2021版的没有这个32位的文件了。如果你的有的话,两个都改也不会错。

打开 idea64.exe.vmoptions 文件,加上这样一句话:

-Dfile.encoding=UTF-8

具体如下:

-Xms512m -Xmx1500m -XX:ReservedCodeCacheSize=512m -XX:+IgnoreUnrecognizedVMOptions -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -ea -Dsun.io.useCanonCaches=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -Dfile.encoding=UTF-8

第二步,修改 IDE 编码

file —> settings —> Editor —> File Encodings

如图:

我的 IDE 添加了中文插件,所以是这么显示的。

第三步,添加 vm options

打开执行应用程序那个地方,点击“编辑配置”,在 vm options 这个地方,添加参数:

-Dfile.encoding=UTF-8

注意:这个参数只有在旗舰版的才会显示出来。

我的 IDE 是社区版的,没有这个参数,当时胡乱的就加在了其他地方:

当时加在了上图的红色方框呢,结果呢,自然是没用的,还是乱码。但是大家看我上面的图,确实在 vm options 这个地方添加了参数。这个是怎么来的呢?其实很简单,只是我们不知道而已。分享我的一篇文章:

至此,网上很多方案就结束了,也确实能解决很多人的问题。但是有时候是不行的,还少了一步。

第四步,编辑自定义 vm options

HELP —> Edit Custom VM OPtions

打开该文件,添加参数:

-Dfile.encoding=UTF-8

第五步,重启 IDE!

以上方案,亲测可用。

这里分享给一篇文章:

经验分享 程序员 微信小程序 职场和发展