转自: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中文出现乱码解决(转)的更多相关文章

  1. MyEclipse中文注释乱码解决

    MyEclipse中文注释乱码解决 将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码 ...

  2. uploadify上传控件中文的乱码解决办法

    uploadify上传控件中文的乱码解决办法 网站用的gb2312的编码,用uploadify上传控件上传中文时在IE能部分成功,FF,Chrome则完全失败,查找了一天原因,结果发现是页面编码问题, ...

  3. JMeter 查看结果树监听器响应数据中文显示乱码解决方法

    查看结果树监听器响应数据中文显示乱码解决方法 by:授客 QQ:1033553122   问题描述 使用监听器-查看结果树(View Results Tree Listener)过程中发现,响应数据面 ...

  4. Eclipse中文注释乱码解决

    将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同. 总结网上的建议和自己的体 ...

  5. Xshell4连接,Linux系统中文显示乱码解决办法

    Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET NetSarang Xshell 4 Build 0120议.使用 ...

  6. mariadb插入中文数据乱码解决过程

    基本情况: 系统:centos 7 mariadb安装方式:yum 乱码解决过程: 查看当前数据库编码(登录数据库后) # show variables like 'character%'; (上图为 ...

  7. linux 下vi /vim 中文汉字乱码解决

    http://my.oschina.net/laserdance/blog/53474很多win下编译的配置文件(译码格式有utf8/gbk)上传到linux服务器上时打开汉字乱码 解决方法如下: 修 ...

  8. MDK(keil)4.7中文注释乱码解决

    由于编码使用不统一导致别的开发环境下的文件在MDK(keil)下打开中文显示乱码,解决这一问题需要进行码制转换, 可以先将欲打开的文件转换成UTF-8格式(如在notepad中进行转换),也可以在打开 ...

  9. idea各种中文显示乱码解决大全

    本文链接:https://blog.csdn.net/liqimo1799/article/details/81811153中文乱码问题分类: 编码普通中文乱码properties文件中文乱码cons ...

  10. 【Linux利用远程SSH连接】SecureCRT中文出现乱码解决办法 Linux服务器技术

    1. 修改远程linux机器的配置   vim /etc/sysconfig/i18n   把LANG改成支持UTF-8的字符集   如:   LANG="zh_CN.UTF-8″   或者 ...

随机推荐

  1. 【静默】Oracle各类响应文件何在?

    [静默]Oracle各类响应文件何在? --root用户下执行: find -name *.rsp  / 1.创建数据库的响应文件:$ORACLE_HOME/assistants/dbca/dbca. ...

  2. node-sass 安装失败 Failed at the node-sass@4.9.2 postinstall script的解决

    控制台运行npm install时报错,报错信息如下: npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! node-sass@4.9.2 postins ...

  3. JS精准倒计时(支持自定义模板)

    /** * 倒计时 Create By TuJia @2017.10.17 * 使用方法: * leftTimer.run(container[,theme][,callback]); * * 支持 ...

  4. modified: xxx(modified content, untracked content)

    当运行git status的时候提示如下: modified: xxx(modified content, untracked content) 我们会很本能的直接执行 add .commit .pu ...

  5. macOS 10.13 High Sierra odoo11 开发配置--完整版

    1.抹盘安装macOS Sierra 10.13: 制作macOS安装启动盘参见:http://www.iplaysoft.com/macos-usb-install-drive.html 2.安装g ...

  6. ubuntu14.04 terminator字体挤在一起问题

    字体挤在一起:在ubuntu下请选择mono后缀的字体就可以了 右键—>首选项—>profile—>general—>字体设置成ubuntu mono 或Free mono

  7. 为IONIC开发的安卓apk签名

    首先进入\platforms\android目录生成一个keystore文件: keytool -genkey -alias mykey -keyalg RSA -validity 40000 -ke ...

  8. Go学习笔记(四)Go自动化测试框架

    上篇Go学习笔记(三)Go语言学习 Go自动化测试非常简单,在结合VSCode的,让测试完全自动化 一 .编辑器下测试 1.测试代码以xxx_test.go方式命名 2.测试函数要以 func Tes ...

  9. selenium 操作过程中,元素标红高亮的两种实现方式

    在使用selenium时,动作元素标红高亮,在定位问题时相当好用,有以下二种方法可以实现 一.使用js将元素属性修改 这也是网上大部分的实现方式,但有时候会有点小问题,代码如下: 只写其实某一段函数 ...

  10. 有多个正整数存放在数组中,编写一个函数要求偶数在左边由小到大顺序放置,奇数在右边,也是由小到大顺序放置,Java实现

    思路: * 1.首先分左右 * 2.分好再排序(左边和右边都单独排序) 第一步:分左右 可得注意了: 大体思路最先是从两头出发分成4种情况讨论(左or右,奇数or偶数)循环处理,出口是双层的嵌套循环( ...