关于eclipse工作区中文件编码的总结(转)

原文作者:y@后羿's Blog
来源地址:http://hyy2.cn/read.php/48.htm
在eclipse工作区环境下,文件的编码问题经常出现,例如不能保存中文等现象.这篇豆腐块文章中会对这个问题做个系统的总结,为大家遇到这种问题提供一点思路.

      [说明:]在eclipse工作区环境下,一个文件的编码最终确定遵循如下规则(优先级从高到底):

      1.文件本身的物理设置(第一优先级),   通常是有如下途径:

          a. 文件输出时writer编码的设定.

          b.用户通过文件属性页的自定义编码设置

          c.文件内容本身属性的设置,例如jsp资源文件,文件内容中的charset属性的值(配合对应编辑器完成,但是对于含BOM的文件例外)

      2.content-type文件内容类型扩展注册时候提供的默认编码(第二优先级)

          更详细信息可以参见org.eclipse.core.runtime.contentTypes扩展点声明信息

          说明:关于content-type对应的默认编码信息可以通过 Windlow->Preferences->General->Editors->File Associations->Content Types进行设定

      3.工作区默认编码设置(第三优先级)

         更详细信息可以参见file.encoding参数说明

       通过上面的规则说明,我们可以看出来,决定一个文件在eclipse工作区中的编码可以在不同的层面采取相应的措施:

       以创建一个新的文件为场景,我们可以采取的方式如下:

       writer编码的明确设定

      文件内容的设定(例如上面提到的jsp文件中的charset属性)

      修改特定文件类型对应的org.eclipse.core.runtime.contentTypes扩展注册的默认编码

      编程的方式操作content-type对应的perference值

      设置工作区的file.encoding

     特别说明:

     关于writer默认使用的charset和file.encoding设置的关系,请参加另外一篇豆腐块文章<writer默认charset和file.encoding参数设置的关系>


     后记:

     上面的内容写的比较粗粒度,而且没有附相应的示例代码等等, 看起来可能会别扭一点.

     关于文件编码的这种问题,和处理类加载问题等都很相似,只要是一次把底层的机制搞个大概了,以后再遇到就会很快的定位和发现问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值