IntelliJ Idea 编码问题

项目改架构需要换IDE,换成Idea之后控制台总有乱码,解决之后记录一下。

1、文件编码

首先,确定代码使用的编码,一般都是UTF-8。
然后Idea->File->Settings->Editor->File Encodings 设置中,三个编码都设置成UTF-8。


IntelliJ Idea 编码问题_第1张图片
File Encoding

2、容器相关的编码

项目是用Tomcat做容器,在Tomcat的启动参数 VM options 中加上:“-Dfile.encoding=UTF-8”。


IntelliJ Idea 编码问题_第2张图片
Tomcat编码设置

至此大部分人的问题应该都可以解决。

3、IDE的默认编码

在IDEA的安装目录,bin文件夹中有两个配置文件“idea.exe.vmoptions”和“idea64.exe.vmoptions”,这两个是Idea32位和64位的启动器配置,你用多少位的启动器就修改哪个文件。在其中加上“-Dfile.encoding=UTF-8”,配置IDE的默认编码。


IntelliJ Idea 编码问题_第3张图片
idea64.exe.vmoptions

更改IDE默认编码后,需要重启Idea。到这里,绝大部分人的问题都应该解决了。

4、操作系统编码

改了如上配置之后,可能有人会发现,控制台中原本正常输出的汉字变成了乱码。这是因为在标题3步骤中加上的“-Dfile.encoding=UTF-8”配置强改了IDE的编码,与操作系统的默认编码不同所导致的。如果需要显示正常的话,需要将操作系统的编码活动页改为UTF-8,这一步要自行斟酌是否更改。


IntelliJ Idea 编码问题_第4张图片
GBK编码

在cmd中输入 chcp 65001 只能将当前的CMD窗口的编码改为UTF-8,真正全局改掉编码需要写注册表。

Windows Registry Editor Version 5.00  //系统编码转为UTF-8

[HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe]
"CodePage"=dowrd:0000fde9
Windows Registry Editor Version 5.00  //系统编码转为GBK

[HKEY_CURRENT_USER\Console\%SystemRoot%_System32_cmd.exe]
"CodePage"=dowrd:000003a8
UTF-8编码

更改系统编码后需要重启电脑,再打开Idea控制台中文编码显示正常。

5、后记

编码一直都是一个头疼的问题,我们在解决的时候应该分析原因,并根据自己遇到的情况对症下药,而不是病急乱投医,搜到一个方法就尝试。

PS:编码问题每个人的情况都不一样,切勿将任何方法作为万能的方法来用。

你可能感兴趣的:(IntelliJ Idea 编码问题)