Eclipse里设置编码有三个层次:全局、工程、文件。 文件的编码会覆盖工程的编码,工程的编码会覆盖全局的编码。
我猜测:虽然你的工程编码更改为GBK,但只对新建文件有效。 如果工程中旧有的文件是UTF-8编码,那么它的编码会覆盖工程编码,即不受你设置的工程编码影响。 解决方法是:在文件上点右键,在文件属性里设置文件的编码。
但是如果文件本来是UTF-8编码,你强行改为GBK编码,文件会乱码,工程也不再能编译通过。 解决办法是:先把文件存为GBK编码,再在文件属性里设置它的编码。很麻烦。 所以对于一个已有的工程,如无必要,不要变更它的编码。
find . -name "*.java" -exec sh -c "iconv -f GB18030 -t UTF8 {} -o {}" \;
三种方法:
一. 设置工作空间的编码
-
1
编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置,每一个项目都会受到这个设置的影响。点击菜单栏中的窗口(Window)— —选项(Preferences)。
-
2
点击常规(General)— —工作空间(Wordspace),然后在右侧的文本文件编码格式(Text file encoding)中选择你想要设置的编码格式,系统默认的格式为GBK。
END
二. 设置项目的编码
-
1
如果其他的项目中不存在乱码问题,只是个别项目显示时出现乱码,那么我们不需要设置工作空间的编码,只需要修改项目的编码即可。
-
2
选中项目后,右键点击,在弹出的菜单中点击属性(Properties)。
-
3
在弹出的属性窗口中,选择资源(Resource)— —点击选择Other(其他),然后选择你想要的编码格式。
END
三. 设置单个文件的编码
-
1
只是个别文件出现了乱码,那么设置个别文件的编码格式就可以解决问题了。选中有乱码的文件,然后点击右键。
-
2
在弹出的菜单中选择属性(Properties)。
-
3
在弹出的属性窗口中选择资源,点击Other(其他)后设置个别文件的编码方式。
END
注意事项
- 三种设置编码方式的效果各有不同,如果修改了工作空间的编码方式,那么其他的项目会受影响;修改了项目的编码方式,其他的文件会受影响;修改文件的编码方式,则只是该文件的发生变化而已。
- 显示中文所有的编码方式主要是GBK和UTF-8,UTF-8是国际通用的中文编码标准,推荐使用。