目录

一、错误说明

二、解决方案

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

 第二步,修改 IDE 编码

第三步,添加 vm options

第四步,编辑自定义 vm options

 第五步,重启 IDE!


一、错误说明

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

控制台中文乱码

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

IDEA上Java项目启动全部报错

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

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

二、解决方案

方案大致如下:

第一步,修改 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

 如图:

java控制ffmpeg java控制台输出中文有乱码_中文乱码

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

第三步,添加 vm options

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

-Dfile.encoding=UTF-8

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

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

java控制ffmpeg java控制台输出中文有乱码_ide_02

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

idea 社区版设置 vm options 参数

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

第四步,编辑自定义 vm options

HELP —> Edit Custom VM OPtions

 打开该文件,添加参数:

-Dfile.encoding=UTF-8

 

java控制ffmpeg java控制台输出中文有乱码_ide_03

 第五步,重启 IDE!

以上方案,亲测可用。