http://www.blogjava.net/lifesting/archive/2008/04/11/192250.html, 感谢此作者!
问题描述: 我们项目开发都统一采用utf-8格式编码,但昨天研发部的一个产品要集成进来,他们是用gbk编码的,如果强行将文件设置成utf-8肯定不行,中文全乱了。在jsp里面用 ctrl+H 进行搜索替换也不行,中文也是显示不出来的。
老的解决办法: 将项目文件都设为utf-8编码,然后一个一个的文件用Ultraedit打开,粘贴到eclipse里面,在保存。这种办法最笨,最累,但没有发现其它好办法的时候,也只能干体力活了。毕竟,结果才是最重要的。
发现此插件过程: 本来给研发的人说,我们要改变编码,代价太大,而且我们项目最终是要发布在aix机器上,所以还是请你们想办法和我们保持一致,毕竟研发是协助我们项目实施的。后来和经理qq上交流了一下,领导的意思是,我们最好提供解决方案,也不要让别人太痛苦(领导看问题还是更全面的, ^_^)。 突然一想,以前都是用baidu在搜索,这次用google,找资料的命中率可能更高一点。结果运气好,一次就发现解决办法了。 再次感谢此作者。
小插曲:我看完文章就想回邮件,说请参考此文章。旁边同事立刻提醒,先test一下,要不然发过去,又搞不定,那就不太好意思了。(这个情况以后要注意,如果测试不太复杂且有测试条件的话,提供给别人解决办法的同时,最好是自己试用过的)
解决过程(插件使用,转帖):
step1. 将插件com.lifesting.tool.encoding_1.0.0.jar拷贝到eclipse/plugins目录下,重启Eclipse。
step2. 选择某个项目,右键选择properties,然后点击Convert Setting进行转码规则设置,如下图:
(图2 项目转码规则设置)
这个表格有四列,分别是文件后缀 ,文件目前编码 ,转换后的编码 ,是 否转换文件内容, 如果转换文件内容,那么对应的是前面所说的第二种情况,不转换文件内容对应的是第一种情况。比如图2的转码规则就是对项目的jsp文件,不管原来是什么编码,统一转为UTF-8编码,并且同时转换文件 内容 。可以点击右边的Add /Remove按钮来增加/删除规则。最后点击Apply来保存设置。
step3 . 转码
在设置了转码规的项目上,右键选择项目,某几个文件夹或某几个文件(当然一个也可以),然后点击Lifesting Tools->Set Encoding。插件将完成转码工作。如果我们选择的是项目,将转换整个项目;如果选择的是文件夹,转换文件夹下所有满足规则的文件;如果选择的是文 件,只转换文件。
(图3 转码)
除了这方式外,我们还可以利用Eclipse的文件搜索功能,将搜到的文件进行转码,如下图:
(图4 在search view里转码)
如上图所示,我们搜到了整个workspace的jsp文件,然后点击绿色E小图标,插件将会把所有满足结果的文件转码,每个文件的转换规则依赖它所属项 目的转码规则设置。