操作系统:Windows 10(家庭中文版)

Eclipse版本:Version: Oxygen.1a Release (4.7.1a)

刚看到一篇文章,里面介绍说Ascii、Unicode是编码,而GBK、UTD-8等是编码格式。

Java中的编码问题(by 迷失之路):https://www.cnblogs.com/zj0208/p/7019102.html

涉及到下面几个编码格式(BMGS):

操作系统(OS)编码格式、JDK的编码格式、JVM的编码格式、Eclipse的编码格式、工作空间(Workspace)的编码格式、

项目编码格式、文本文件编码格式

1.操作系统BGMS

我的是Windows 10家庭中文版,因此,其BMGS为GBK。

2.JDK的BMGS、JVM的BMGS

JDK的编码继承了操作系统的BMGS,因此,安装好JDK后,其默认BMGS为GBK,同OS。

在没有特别设置的情况下,JVM启动时的BMGS和JDK相同,为GBK。不过,可以在JVM启动时通过命令修改其BMGS。

注意:还需深究

修改JVM的默认BMGS:http://notebookdong.iteye.com/blog/2237550

添加环境变量、JVM启动时添加参数:这两种方式在我看来都比较麻烦或影响很大。

更多参考:

更改JDK默认编码为UTF-8:http://blog.163.com/han_sboy@126/blog/static/2167612420155164539654/

这篇文章介绍的更深入,还没仔细看。

3.Eclipse的BMGS、Eclipse下Workspace的BMGS

Eclipse的BGMS是一个伪概念,实际上是不存在的,但是,在Eclipse我们可以全局性地设置工程的BMGS,而这个BMGS是指Workspace的。

打开Window->Preferences面板,选中其中的General->Workspace,在此面板的底部有一个Text file encoding配置项,默认是GBK,即运行Eclipse

的JVM的BMGS。

修改这里的BMGS后,即同时修改了此工作空间下所有的工程、文本文件的BMGS,影响很大!

比如,一个Java工程及其下的Java文件的BMGS是GBK,若是在这里修改为UTF-8后,此Java工程及其下的Java文件的BMGS也随之而改,此时,

之前Java文件中的非ASCII字符则会变为乱码,严重者会导致程序无法运行。

4.项目的BMGS

项目存在于Workspace中,新建项目会继承(Inherited)Workspace的BMGS,但其BMGS可以单独设置。

两个途径:

a.项目名上右键,选择Properties,进入项目的属性设置面板,在第一个属性项Resource的配置项中就可以设置——Text file encoding,

默认是继承,可以也可以选择单独配置;

b.选中项目名称,选择Eclipse菜单栏的Project->Properties菜单;

设置为UTF-8;

在这里修改完工程的BMGS后,工程下的文件的BMGS也改变为UTF-8了。

Text file encoding中的Store the encoding of derived resources separately是什么意思呢?

经过试验,在选中此选项后,在工程的.settings目录下的org.eclipse.core.resources.prefs文件中会增加下下面一行:

separateDerivedEncodings=true

需要注意的是,org.eclipse.core.resources.prefs文件在没有修改工程的BMGS是不存在的!

那么,有什么更大的影响呢?和项目迁移有关系吗?

5.文本文件的BMGS

文本文件可以简单地理解为各种程序源文件,其BMGS可以单独修改的,默认是继承了工程的BMGS。

右键进入文件的属性配置面板,或者,选择文件后,从菜单File->Properties进入,此面板中也有一个Text file encoding,修改它即可。

6.修改BMGS时的注意事项

a.优先级

Workspace的BMGS 低于 项目的BMGS 低于 文本文件的BMGS

b.覆盖范围

Workspace的BMGS 大于 项目的BMGS 大于 文本文件的BMGS

c.文本文件存在非ASCII字符时,更需要谨慎配置各个级别的BMGS

d.为何要设置为UTF-8

一是国际化支持更好、更大程度地支持中文,二是更有利于团队之间的合作开发。

在我的Windows 10中,默认中文BMGS是GBK,而在Windows XP、2000操作系统中,默认的BMGS为GB18030。

是否将Workspace的BMGS设置为UTF-8?

是否将项目的BMGS设置为UTF-8?

是否将文本文件的BMGS设置为UTF-8?

我的建议是:

设置Eclipse的Workspace的BMGS为UTF-8,再设置工程的BMGS为UTF-8,文本文件的无需单独设置。

e.项目迁移(需要验证)

项目在一个Eclipse上是继承BMGS,为UTF-8。

当其迁移到Workspace的BMGS为GBK的的Eclipse时,是否能成功运行?

注释是否不变为乱码?因为其配置为继承,此时,项目的BMGS将更改为GBK。

f.还有文章提到修改Java Source File的Default Coding

修改Java Source File这种文件的Default encoding为UTF-8:输入,更新即可。

g.关于PyDev开发的Python工程的BMGS设置

遵循本文前面讲的,需要【单独设置】工程的BMGS为UTF-8,而工程里面的文件的BMGS则保持默认的继承。

有些问题:

Python 2的默认编码是Ascii,而Python 3的是UTF-8,基于不同Python版本建立的工程 怎么设置BMGS呢?

Python 3可以采取上面提到的建议,而Python 2呢?还需要深究。

h.当前Eclipse中的Python File的Default coding

在File associations中选择一个项目,再输入想要的BMGS,保存即可生效。

需要注意的是,

Python 2的默认编码为Ascii,Python 3的为utf-8,若是项目会在两者之间切换,可以【在项目中单独设置、,而不是在这里做全局设置。

参考链接-关于Python2.X与Python3.X的编码问题:https://blog.csdn.net/mickeymouse1928/article/details/70168794

-------

Version 1:2018-04-27

第一个版本,待有更多实践后,可能会更新此博文。

转载于:https://www.cnblogs.com/luo630/p/8962899.html

Eclipse中各种编码格式及设置相关推荐

  1. eclipse怎样改编码格式_Eclipse中各种编码格式及设置

    操作系统:Windows 10(家庭中文版) Eclipse版本:Version: Oxygen.1a Release (4.7.1a) 刚看到一篇文章,里面介绍说Ascii.Unicode是编码,而 ...

  2. eclipse中查看java源代码设置方法

    众所周知,第一次查看class文件时,eclipse会给个界面选择添加源代码路径. 但是,如果我要换源代码路径了怎么办,eclipse也不会提示了.那就使用手动的吧 方法1: 使用eclipse添加一 ...

  3. Eclipse 中 代码颜色的设置(注释的颜色, 局部变量的颜色, 类变量的颜色。。。 )

    https://blog.csdn.net/sxzlc/article/details/7861781 在Eclipse中,我们不但可以对选择的相同的字符串进行高亮标色, windows-> p ...

  4. eclipse中Preferences的一些设置

    1.在Eclipse里面设置了java文件保存时自动格式化,在java->Code Style->Formatter里设置了自定义的格式化的样式,这样每次保存后都会自动格式化代码,用了一段 ...

  5. javaee设置字体大小_eclipse中字体大小怎么设置 eclipse设置字体大小的方法

    eclipse中字体大小怎么设置呢?本节内容中小编就为大家带来eclipse设置字体大小的方法,感兴趣的朋友可以了解一下哦! eclipse设置字体大小的方法 小伙伴1这样建议: 重装了系统,我一般都 ...

  6. Eclipse中java文件编码格式修改

    在eclipse中可以影响java文件编码格式的设定有好几处.先要知道当前情况下哪个设定起作用,再针对性的进行修改. determined from content type 右键点击java文件-& ...

  7. linux 设置gbk编码格式,设置ubuntu支持gbk编码格式和设置eclipse 编码格式

    linux 下默认是不支持gbk 编码格式的 简单几步设置即可 1.修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN. ...

  8. Eclipse中JVM内存设置

    为什么80%的码农都做不了架构师?>>>    eclipse.ini内存设置 -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxP ...

  9. 全面认识Eclipse中JVM内存设置

        这里向大家描述一下Eclipse中如何进行JVM内存设置,JVM主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的,所以方 ...

  10. eclipse中动态web项目快捷方式设置

    需求 在eclipse中发布一个动态web项目,为了快捷创建一些包.类等,需要先设置一下快捷方式. 步骤 1.点击"Window"->"Perspective&qu ...

最新文章

  1. 网页实时聊天之PHP如何实现websocket
  2. 通过企业分布式缓存共享运行时数据
  3. 3.7 感知器-机器学习笔记-斯坦福吴恩达教授
  4. DSP学习 -- 软件开机自启动
  5. jq之slideup()
  6. php 移植 arm 精简,arm linux 移植 PHP
  7. 面试又栽在JVM上了!
  8. 快递查询小程序源码可运营+微信物流快递查询小程序
  9. liferay search container的两种实现方式
  10. Path variable [contentHash:8] not implemented in this context: styles.[contentHash:8].css
  11. bzoj 3749: [POI2015]Łasuchy
  12. 如何在 Linux 终端中复制粘贴 [初学者教程]
  13. 将对象绑定到WinForm中的combobox时出现的奇怪错误:组合框的下拉项太多!
  14. Web前端可以转行做游戏吗?
  15. 北京理工大学小学期乐学 t23树上统计
  16. 墙裂推荐:搜云库技术团队,整理一年的技术干货
  17. 超级课程表查成绩显示服务器错误,超级课程表怎么查询期末成绩
  18. Web全栈~19.Java语言基本结构
  19. 通信协议——Uart、RS232、RS485、SPI
  20. 如何保护自己的网络隐私

热门文章

  1. Intellij IDEA2017.3.5利用补丁破解
  2. Qt自带示例演示程序
  3. 网页学习教程视频百度云下载,程序学习教程视频百度云下载(讲解非常的细,适合刚学习程序人员,从前端到后端都有,全看完你就是一名程序猿)
  4. sd卡驱动分析之host
  5. 山东理工ACM 1445 素数
  6. Android视频加水印和压缩
  7. c语言程序设计题目湖南大学,湖南大学C语言期末考试样卷
  8. Android Device Moniter部分问题的解决办法:
  9. sql server 2008 不显示 已注册的服务器任务窗格,Visio使用方法.doc
  10. 剑指offer20题——leetcode主站65题