一、设置新建常见类型文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -->content Types
在右侧窗口中展开每一个子项,依次输入编码格式,如“UTF-8”点击“update”就设置好了。
例如:在以上设置中,设置jsp默认编码格式为“UTF-8”,那么以后新建的jsp文件,都是以“UTF-8”的格式保存的。
同样设置java默认编码格式为“UTF-8”,那么以后新建的java文件,都是以“UTF-8”的格式保存的。
设置html默认编码格式为“UTF-8”,那么以后新建的html文件,都是以“UTF-8”的格式保存的。
以上设置了文件的保存编码格式,默认的打开方式(解码方式)会跟保存编码格式一样。
二、设置新建其他文件的默认编码格式,即文件保存格式。
在第一项设置中,只是设置了常用文件类型的编码格式。如果新建一个文件,没有后缀名,也就是不指名文件类型,那么MyEclipse无法判断该用何种编码格式保存,就用操作系统默认文件保存编码格式GBK进行保存。这个默认保存编码格式,可用如下方法修改:
window-->preferences-->general-->workspace 在右侧 Text file encoding ->Other 选择UTF-8
三、单个文件查看编码格式(也就是打开文件用的编码格式)更改。
这个方法没有更改文件的编码格式,只是告诉MyEclipse用何种编码格式进行解码。
在要查看的文件上,如文件Test.java上右键-->Properties-->Resource在右侧Text file encoding ->Other,可以进行修改。
比如说,你在“一”里面设置*.java文件的编码格式为“UTF-8”,那么你打开后缀名为java的文件,默认就会以“UTF-8”格式进行解码。如果有人给了你一个编写好的java文件,但是他是用GBK编码保存的,那么你现在打开的时候,会显示乱码。在这个文件上右键-->Properties-->Resource在右侧Text file encoding ->Other ->GBK,就可以正常显示里面的内容了。
四、单个工程workspace默认编码设置。
在工程上右键-->Properties-->Resource在右侧Text file encoding ->Other,可以进行修改。
五、指定MyEclipse编写文件时页面内容数据编码格式(其实就是参数的默认设置),如html,或者jsp网页中提交表单前,用户输入的信息编码格式,配置文件xml中的参数编码格式等。
主要是通知浏览器或服务器,传输数据的编码格式。告诉浏览器用何种编码来解析html或者JSP文件。
window-->Preferences-->MyEclipse-->Files and Editors-->选择子项-->Encoding
例如:选择UTF-8,
新建jsp文件的时候,contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"就会自动生成,不用每次去手工更改了。
新建html文件的时候,http-equiv="Content-Type" content="text/html; charset=UTF-8"
新建xml文件的时候,<?xml version="1.0" encoding="UTF-8"?>
六、eclipse的控制台显示所使用的编码是继承了workspace设置的字符编码格式(也就是上面“二”中设置的编码格式)。
关于MyEclipse控制台中文乱码问题,这种乱码是属于在JVM(java虚拟机)上运行时,JVM的默认输出格式不支持中文造成的。这时,必须要对JVM的输出格式进行设置。但这种情况也并不是所有的输出都是乱码,像我配置了一个tomcat5 一个6,tomcat5上放的工程原来是GBK编码,后来不小心把eclipse所有编码都改为了utf-8,导致看不到tomcat5上这个工程启动时输出的日志中文就是乱码,找遍了解决方法都没成功,后来发现如下方法(如图中蓝色标记,改下编码就行了,具体是哪种编码需要你自己都试一下,一般不是utf-8就是gbk):
然后,选中所要修改的tomcat,根据具体情况设置Console Encoding如下:
其实乱码产生原因就是GBK转UTF-8,而这两种方式针对中文字符的编码以及解码都是不同的。 的编码设置全都是UTF-8,包括控制台的编码读取方式也是UTF-8,也就是源头和尽头是两种 不同的编码方式,因此会造成乱码问题。我暂时所知道的,可能也是唯一的解决方法就是将 MyEclipse的环境设为GBK,这样试过是可行的。但由于我原先的文件都是以UTF-8的方式保存 的,改成GBK意味着需要重写代码。因此,最好是能有方法能够将在代码层次将GBK转为UTF-8, 但上网查了很多资料,还没找到有效方法。 |
以上是自己总结的,如果错误,请指出。问题如下
1、如果别人给了一个project,编码格式为GBK,我自己使用的编码格式为UTF-8,导入这个project后,显示乱码,需要进行哪些修改?我想知道“一定必须修改”的地方。如果我上面的几点依次全部更改,导入的用GBK编码的project是可以正常显示的。但是更改以后,查看自己用UTF-8编码的project的代码又会出现中文乱码了。
其实这个问题就是,如何让两个Project使用不同编码(如UTF-8和GBK),而都可以正常查看,不出现乱码。
2、打开编写好的java代码,按右键-->preferences-->General-->Editors-->Text Editors-->Spelling-->Encoding这个到底是干什么用的?
这个和window-->preferences-->general-->General-->Editors-->Text Editors-->Spelling-->Encoding修改效果是一样的,这个是全局修改。
这个设置默认继承全局workspace编码格式,也就是上面“二”中设置的编码格式。