项目改架构需要换IDE,换成Idea之后控制台总有乱码,解决之后记录一下。
1、文件编码
首先,确定代码使用的编码,一般都是UTF-8。
然后Idea->File->Settings->Editor->File Encodings 设置中,三个编码都设置成UTF-8。
2、容器相关的编码
项目是用Tomcat做容器,在Tomcat的启动参数 VM options 中加上:“-Dfile.encoding=UTF-8”。
至此大部分人的问题应该都可以解决。
3、IDE的默认编码
在IDEA的安装目录,bin文件夹中有两个配置文件“idea.exe.vmoptions”和“idea64.exe.vmoptions”,这两个是Idea32位和64位的启动器配置,你用多少位的启动器就修改哪个文件。在其中加上“-Dfile.encoding=UTF-8”,配置IDE的默认编码。
更改IDE默认编码后,需要重启Idea。到这里,绝大部分人的问题都应该解决了。
4、操作系统编码
改了如上配置之后,可能有人会发现,控制台中原本正常输出的汉字变成了乱码。这是因为在标题3步骤中加上的“-Dfile.encoding=UTF-8”配置强改了IDE的编码,与操作系统的默认编码不同所导致的。如果需要显示正常的话,需要将操作系统的编码活动页改为UTF-8,这一步要自行斟酌是否更改。
在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
更改系统编码后需要重启电脑,再打开Idea控制台中文编码显示正常。
5、后记
编码一直都是一个头疼的问题,我们在解决的时候应该分析原因,并根据自己遇到的情况对症下药,而不是病急乱投医,搜到一个方法就尝试。