IDEA中文出现乱码解决

Posted 小航哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA中文出现乱码解决相关的知识,希望对你有一定的参考价值。

转自:http://lcl088005.iteye.com/blog/2284696

 

 

我是个idea的忠实用户,新公司的项目都是用eclipse做的,通过svn拉下代码后发现,注释的内容里,中文内容都是乱码。问过项目负责人,说可能是GBK编码。

但是,我通过idea的setting设置了编码,试了5种编码都没用,中文内容还是乱码。最后还是自己试出来解决方案。

详细的原因请参考最后的讲解。

 

乱码示例图
技术分享图片

 

 

  下面来介绍解决方法

 

  第一步是点击右下角,如图所示的位置,然后选择GBK(由于我的项目之前是GBK编码,所以在这里我要是选择的GBK)。另外提醒一点,如果你的idea右下角没有这个按钮,请在你的编码界面中随意右键,然后选择“File Encoding”,效果一样。 

技术分享图片
 

  第二步会出现如下提示,这里很重要,不要选错,先选择“Reload”,这里请严格按照我说的来,文章后面会告诉你如果选错会有什么后果
技术分享图片
 

接着你就会看到乱码已经变成中文了,但是这对我还没结束,由于我将页面改成了GBK编码,但这并不是我想要的,我想要的是utf8的编码格式。
技术分享图片
 
 

  第三步,就是再次点击这个地方,然后选择UTF-8格式
技术分享图片
 

 

  最后一步就是选择Convert,这就结束了
技术分享图片
 
 

相信有些朋友已经有点头绪了。这个“Reload”选择后不会改变文件和内容的编码格式,而是将IDE本身的解码格式由我原先的UTF-8换成了 GBK,由GBK的解码格式解GBK的文件就不会再看到乱码。而“Convert”是将GBK格式的文件内容转换成了UTF-8,同时将IDE的解码格式 也换成UTF-8。

 

所以之前说的,如果你第一次选择了“Convert”那么就会由原来的乱码弄成另一种乱码,反正我是没弄回来过。好在我是在git的branch上做的实验,我的源码文件还保留着,所以没有问题。

 

在以上的基础上,我猜测idea对java文件的编辑,应该是读取文件内容,并以IDE本身指定的encoding来进行解读

举例,如果IDE的encoding为GBK,而java文件是UTF8那么IDE读取文件的时候就会显示乱码,如果这个时候使用上文所说的“Convert”来讲乱码转换成UTF8文件。

重点来了,这个时候文件本身是UTF8格式编码,转成UTF8格式应该是不会有问题的。但结果是,你由GBKencoding换成用UTF8的encoding去解码这个文件发现还是乱码。

原因是由于IDE用GBK读取UTF8文件时显示的是乱码,文件并没有乱码,而是IDE读取出来的文件由于encoding解码不对才显示的乱码。那么你这个时候使用Convert”不过是将IDE读取的内容转换成了UTF8,而并非是将文件内容转换成UTF8。就这么一个微小的区别,但结果却是完全不可控制的。















以上是关于IDEA中文出现乱码解决的主要内容,如果未能解决你的问题,请参考以下文章

解决idea打包出现中文乱码的问题

如何解决idea本身的乱码以及解决代码中出现的乱码?

IntelliJ IDEA下Maven控制台出现中文乱码问题解决

解决idea控制台乱码及项目乱码

关于idea中文乱码解决方案

将Eclipse项目转入IDEA后乱码解决