文档章节

日记 - idea中的中文注释出现乱码的解决方案

非沧海一粟不随波逐流
 非沧海一粟不随波逐流
发布于 2016/11/09 10:47
字数 825
阅读 25
收藏 0

环境:win10,idea13.1.1

 

我是个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。就这么一个微小的区别,但结果却是完全不可控制的。

 

 

 

本文转载自:http://lcl088005.iteye.com/blog/2284696

共有 人打赏支持
非沧海一粟不随波逐流
粉丝 3
博文 60
码字总数 2977
作品 0
无锡
程序员
idea使用actiBPM插件中文乱码

idea 安转activiti插件后,编辑流程图发现保存后中文乱码,并且idea的字符集(Settings—>Editor—>File Encodings)已经设置为UTF-8,流程图中中文仍然是乱码,如下图所示: 解决此问题,需...

野鱼
08/03
0
0
IntelliJ IDEA中文乱码

IntelliJ IDEA 12版本后 附带黑色 Darcula 主题之后,中文乱码 然后就会发现,中文变成了口口口口口... 解决方法就是如图,在 Appearance 里头勾选 Override default fonts by (not recommended...

MoksMo
2015/05/21
0
0
IntelliJ IDEA 12.0中文字符显示乱码解决方案

看到OSChina到处都是IntelliJ IDEA 12.0的讨论,于是按奈不住好奇的心情下载来试用,惯例是编写一个简单的test体会一下感觉,不管别人怎么说,自己的体会才是王道,自然在http://www.oschin...

述而不作
2012/12/07
0
5
IntelliJ IDEA详细配置 

IntelliJ IDEA详细配置 关闭Intellij IDEA自动更新 在File->Settings->Appearance & Behavior->System Settings->Updates下取消Automatically check updates for勾选 隐藏.idea文件夹和.iml等......

DemonsI
前天
0
0
IntelliJ IDEA 常用操作

IDEA内存优化 先看看你机器本身的配置而配置. IntelliJ IDEA 8binidea.exe.vmoptions ----------------------------------------- -Xms64m -Xmx256m -XX:MaxPermSize=92m -ea -server -Dsun......

Java编程思想
2013/12/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IE浏览器http请求,中文传参报400错误-解决方法

做项目的时候,遇到一个小的问题.一个get请求列表数据的接口,在其它浏览器上是可以正常请求的.但是在ie浏览器上确出现奇怪的http请求400错误,其含义是你访问的页面域名不存在或者请求错误,自...

青衫旧巷
18分钟前
1
0
Spring中@RequestParam与@PathVariable的区别

@RequestParam与@PathVariable为spring的注解,都可以用于在Controller层接收前端传递的数据,不过两者的应用场景不同。 @PathVariable主要用于接收http://host:port/path/{参数值}数据。@Re...

王子城
21分钟前
0
0
数据运营者的福音:海量数据处理利器Greenplum

作者:李树桓 个推数据研发工程师 前言:近年来,互联网的快速发展积累了海量大数据,而在这些大数据的处理上,不同技术栈所具备的性能也有所不同,如何快速有效地处理这些庞大的数据仓,成为...

个推
22分钟前
1
0
进程和线程的区别介绍

1、首先是定义 进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。 线程...

linuxprobe16
23分钟前
1
0
IntelliJ IDEA 工具的学习与使用

当前标签: IntelliJ IDEA IntelliJ IDEA(十一) :Debug的使用 JaJian 2018-08-04 02:32 阅读:402 评论:0 IntelliJ IDEA(十) :常用操作 JaJian 2018-05-22 18:43 阅读:1272 评论:0 Inte......

glen_xu
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部