eclipse中文显示乱码问题总结
2012-04-23 14:12
309 查看
eclipse中文显示乱码问题总结
将外部源文件导入到Eclipse工程后,经常遇到各种乱码问题,究其原因主要是因为文件本身的encoding type与eclipse用于打开改文件的编辑器所使用的encoding type不一致导致。那么eclipse的编辑器到底是如何决定采用哪种encoding type编辑某一个文件呢?我们需要知道编辑器当前是采用什么encodingtype在编辑文件,可以选中文件右键property->resource看到:
这里可能会出现三种情况:
1、 inherit from container
2、 determined from content type: xxx
3、 determined from content: xxx
那么以上三种决定文件encoding判定分别表示什么意思呢?
熟悉eclipse使用的兄弟都清楚,encoding type相关有四个地方可设置:
1、全局(windows->reference->General->workspace)
2、工程(project->property->resource)
3、文件(选中文件右键property->resource),可看到当前编辑器所使用的编码格式
4、全局文件的content type(windows->reference->General->contesttype->Default encoding)
1、2、3逐级继承,这个比较容易理解,这里不详细介绍。
值得一提的是,在工具可设置的范围内4优先级是最高的,即如果设置了某类型文件的content type的default encoding,那编辑器会优先根据该类型文件设置的默认编码格式来编辑文件,而不管前面的1、2的设置。
此外还有一种情况,如果该文件在文件头部携带一个“编码字节序标识”(Encoding Bit Order Mark,简写为BOM),eclipse编辑器会优先根据该标志指定的encoding type来进行文件编辑,这个是工具无法设置的。
以上5种情况简单画个图就是如下所示:
文件本身Content(BOM)优先级最高,eclipse设置content type次之,继承的优先级最低;分别对应前面描述到的3\2\1三种文件encoding判定方式。
至此,我们已经大致了解了eclipse编辑器如何判定文件encoding type的方法,大部分乱码的问题都可以找到解决之道了。
还要强调一点的是,从外部引入多个文件,或者多人(使用不同编辑工具)开发的多个文件,如果采用encoding 方式不一致,而且有些文件带BOM,有些不带,这种情况下,如果把这些文件import到eclipse(或其他任一编辑器)的一个工程内,会遇到很多编码问题,而且往往找不到一个简单兼容方式。所以最佳的方式是在工程启动之时约定好encoding type和具体工具编码相关配置。
相关文章推荐
- 解决eclipse显示jar源代码中文乱码问题
- ubuntu下Eclipse中文显示乱码的问题
- eclipse显示jar源代码中文乱码问题
- 如何解决eclipse显示中文乱码问题?
- ubuntu下Eclipse中文显示乱码的问题
- 如何解决eclipse显示中文乱码问题?
- eclipse中文显示乱码解决方法总结
- 【转】引入android项目在eclipse ADT中显示中文乱码问题
- eclipse显示jar源代码中文乱码问题
- eclipse编码格式全部正确,网页中文显示依旧乱码问题
- eclipse + pydev 编译中解决中文显示乱码问题
- 中文乱码问题,Eclipse能正常显示,但在tomcat部署工程中不行
- 使用eclipse开发web项目中常见的中文乱码问题总结
- 如何解决eclipse显示中文乱码问题?
- Eclipse中文显示乱码问题
- eclipse下启动weblogic控制台显示中文乱码问题
- Eclipse中文显示乱码问题
- java, android项目在eclipse中显示中文乱码问题
- 解决eclipse中执行sql语句时出现中文乱码的问题
- plsql中文乱码问题(显示问号)