1. 调整文件编码设置
在IntelliJ IDEA中,依次选择File、Setting(或使用快捷键Ctrl+Alt+S)、Editor,然后进入File Encodings设置。确保Global Encoding、Project Encoding以及Default encoding for properties files这三项均设定为UTF-8,最后点击OK或Apply保存更改。
2. 调整Java编译器设置,增加编译时字符集的指定
在IntelliJ IDEA中,进入File、Setting(或使用快捷键Ctrl+Alt+S),然后选择Build, Execution, Deployment下的Compiler。在Java Compiler中,添加额外的命令行参数,例如-Dfile.encoding=UTF-8
,以确保在编译时使用指定的字符集。完成后,点击OK或Apply保存更改。
3. 确保选择支持中文的字体(有时乱码问题与此相关)
在IntelliJ IDEA中,进入File、Settings(或使用快捷键Ctrl+Alt+S),然后选择Appearance。在Name设置中,选择一个支持中文的字体。这一步对于确保中文显示正确至关重要。
在完成前三步的基本设置后,若仍遇到乱码问题,接下来我们将针对不同情境提供相应的解决方案。
4. 若在使用maven过程中执行指令时遭遇中文乱码,可尝试以下设置进行避免:
5. 若在使用Tomcat启动项目时遇到中文乱码问题,尤其是在Tomcat的启动日志中
你可以尝试调整Tomcat的控制台输出文件编码。具体来说,就是前往Tomcat安装目录下的conf文件夹,找到logging.properties文件,并将其中的java.util.logging.ConsoleHandler.encoding属性从utf-8更改为GBK。这一方法虽非主流,但它能够在IDEA控制台和DOS命令窗口启动时均有效避免中文乱码。但请注意,若同时设置IDEA的Run/Debug Configurations中的VM options为-Dfile.encoding=UTF-8,则sout输出中文时会出现乱码;同时,在IDEA启动Tomcat时,控制台的Tomcat catalina log页面仍可能存在中文乱码。因此,这两种设置不可同时启用。
6. 配置全局VM启动参数
(通常在完成前述步骤后,中文乱码问题已基本解决)
在每个项目中,你可以指定独特的VM参数,这些参数的优先级高于全局设置。然而,对于全局设置,存在两种方式:
方式一:
打开IntelliJ IDEA的本地安装目录,找到bin文件夹中的idea.exe.vmoptions和idea64.exe.vmoptions这两个文件。在这两个文件的末尾,分别添加-Dfile.encoding=UTF-8参数。
PS:方式一可能无法生效,因为在C盘下的C:\Users\你自己的用户名.IntelliJIdea2019.1\config配置中,还存在一个idea64.exe.vmoptions文件。IntelliJ IDEA会以这个配置为准,因此,即使你在idea安装目录下进行了修改,也可能被这个配置覆盖,从而无法生效。为了确保设置生效,你需要手动修改此文件,并在该文件末尾加上-Dfile.encoding=UTF-8参数。
若经过上述步骤后,IntelliJ IDEA仍显示乱码,这通常意味着IDEA的字体编码设置出现了问题。经过仔细排查,我们发现项目的.idea文件夹中存在一个encodings.xml文件,该文件记录了某些文件所对应的特定编码。这些编码可能是在无意中更改了右下角的编码设置后,被IntelliJ IDEA记录在encodings.xml文件中。因此,在访问这些文件时,IDEA会使用这些特定的编码,导致乱码的出现。为了解决这个问题,只需删除encodings.xml文件中除了UTF-8的所有内容即可。