工作环境刚切换到Ubuntu系统下面,各个工具也正在熟悉和完善中。
今天遇到Eclipse显示中文的时候显示乱码,文件编码找不到GBK编码。Ubuntu 默认采用UTF8编码,但对中文支持还不够细致,即便默认采用中文安装,也并不会自动添加GBK等支持,致使在Ubuntu下访问部分Windows文本文件时,出现乱码。
解决如下:
1
|
riqi@ubuntu:~$
sudo
vim
/var/lib/locales/supported
.d
/zh-hans
|
该文件默认内容是:
1
2
|
zh_CN.UTF-8 UTF-8
zh_SG.UTF-8 UTF-8
|
现添加下面几行内容:
1
2
3
4
5
6
|
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18031 GB18031
zh_HK.BIG5 BIG5
zh_TW.BIG5 BIG5
|
保存,推出
然后执行:
1
|
riqi@ubuntu:~$
sudo
locale-gen
|
Generating locales…
en_AG.UTF-8… up-to-date
en_AU.UTF-8… up-to-date
en_BW.UTF-8… up-to-date
en_CA.UTF-8… up-to-date
en_DK.UTF-8… up-to-date
en_GB.UTF-8… up-to-date
en_HK.UTF-8… up-to-date
en_IE.UTF-8… up-to-date
en_IN.UTF-8… up-to-date
en_NG.UTF-8… up-to-date
en_NZ.UTF-8… up-to-date
en_PH.UTF-8… up-to-date
en_SG.UTF-8… up-to-date
en_US.UTF-8… up-to-date
en_ZA.UTF-8… up-to-date
en_ZM.UTF-8… up-to-date
en_ZW.UTF-8… up-to-date
zh_CN.GB18030… up-to-date
zh_CN.GB18031… up-to-date
zh_CN.GB2312… up-to-date
zh_CN.GBK… up-to-date
zh_CN.UTF-8… up-to-date
zh_HK.BIG5… up-to-date
zh_HK.UTF-8… up-to-date
zh_SG.UTF-8… up-to-date
zh_TW.BIG5… up-to-date
zh_TW.UTF-8… up-to-date
Generation complete.
然后,打开Eclipse window => preferences => general => workspace => Textfileencoding 设置other对应的编码。
如果没有GBK编码可以在other那个输入框写入GBK 然后点击Apply就可以生效了。
------------------------------------------------------------------------------------------------------------------------------------------------
将别人的项目或JAVA文件导入到自己的Eclipse中时,常常会出现JAVA文件的中文注释变成乱码的情况,主要原因就是别人的IDE编码格式和自己的Eclipse编码格式不同。
总结网上的建议和自己的体会,可以参考以下几种解决方式:
1 改变整个文件类型的编码格式
1) eclipse->window->preferences->General->Content Types
2) 找到要修改的文件的类型(JAVA,JSP等等),在下面有个Default encoding,在输入框中输入GBK
3) 点击Update
4) 点击OK
5) 重启eclipse
2 改变整个Eclipse工作空间的编码格式
1) eclipse->window->preferences->General->workspaceTypes
2) 改变文本文件编码格式为GBK
3 改变单个文件的编码格式
在包资源管理器右键点击文件->属性,改变文本文件编码格式为GBK
4 如果以上几种方式仍不能解决,可以下面这个不得已的办法:
用Editplus打开要转码的文件,如果在Editplus中没有乱码,可直接将文件内容拷贝到Eclipse中,如果Editplus也有乱码,可先在Editplus转码,Editplus->文档->文件编码方式->改变文件编码方式->GBK,然后再用Eclipse打开就可以了
5 打开Eclipse,有时候会出现中文注释乱码,这是因为Eclipse中对Text file encoding的默认编码是GBK,因此,右键点击你的"工程",将Info中的"Text file encoding"中的Other改为UTF-8,即可!