我们使用MyEclipse或者Eclipse的时候经常容易遇到中文乱码问题,接下来我们就从Eclipse软件的工作空间、代码本身、控制台及服务器的代码设置做简单介绍。
一、MyEclipse工作空间编码。
window-->preferences-->general-->workspace 在右侧 Text file encoding ->Other 选择UTF-8
二、MyEclipse的编辑文件(jsp/html 等)默认的编码设置,也就是文件保存的格式。
在不对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”的格式保存的。
以上设置了文件的保存编码格式,默认的打开方式(解码方式)会跟保存编码格式一样。
三、项目的编码设置
在工程上右键-->Properties-->Resource在右侧Text file encoding ->Other,可以进行修改。
设置为UTF-8
四、控制台编码设置。
对于输出到控制台的乱码,上述方法则不能解决。这种乱码是属于在JVM(java虚拟机)上运行时,JVM的默认输出格式不支持中文造成的。这时,必须要对JVM的输出格式进行设置。具体操作如下:
在MyEclipse上面选择run --> Run Config
接下来在VM arguments中添加 ”-Dfile.encoding=UTF-8"
这里选择Commo
在Console encoding中选择UTF-8 (如果Default的默认值不是UTF-8,就选Other的UTF-8)
设置好以后,点击apply,再run,控制台就可以输出中文,而不是乱码(注意:如果在VM arguments中添加“ -Dfile.encoding=GB2312 ",而后边选择可以是UTF-8,也可以是GBK都支持中文格式的编码集,UTF-8是对所有格式都支持的,所以我就用这个了。但建议你把编码格式和控制台全部设为同一个编码格式。
五、服务器的编码设置
这里以tomcat为例,进入service.xml 里面,其他服务器也是进入配置文件中。
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
这里面添加
URIEncoding="UTF-8"
即可。
如果这些都没有解决问题。