操作系统: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

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

Eclipse中 *.properties 文件编码设置

Eclipse 中的默认编码格式为 ISO-8895-1,在此编码下中文的会显示如下的效果 解决方法 Windows --> Preference --> General Types -- ...

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

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

eclipse中Preferences的一些设置

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

如何为 Eclipse 中的 Java 源文件设置为 UTF-8 默认编码(转)

要让一个 Java 源文件打开时编码格式为 UTF-8,需要做2件事情: 1)设置Java 源文件的默认编码格式为UTF-8: 2)设置workspace的编码格式为UTF-8. 相应设置如下: 设置 ...

在eclipse中的tomcat内存设置

设置步骤如下: 1.点击eclipse上的debug图标旁边的下拉箭头 2.然后选择Run Configurations, 3.系统弹出设置tomcat配置页面,在Argument中末尾添加参数中的V ...

eclipse中tomcat内存溢出设置

Eclipse里启动Tomcat,配置内存大小 2009年12月11日 星期五 10:50 一般安装完eclipse之后,在安装目录下你应该可以看到有一个 eclipse.ini 文件,对了,就是在这 ...

eclipse中的字体大小设置和背景色设置

1.字体大小设置 在basic下选择最后一个TextFont 护眼背景色设置 添加到自定义颜色后点确定 最后一步点apply

设置eclipse中python脚本的编码格式

今天在运行python脚本时报如下错误: SyntaxError: Non-ASCII character '\xe5' in file D:\pythonlearn1\src\day01\direc ...

在Eclipse中设置文件的默认打开方式

在Eclipse中,我们可以设置jsp.xml.js.sql等文件默认打开方式: ①.打开配置选项 ②.找到文件设置 ③.选中我们要设置的文件,默认即可:

随机推荐

Web Service和WCF的区别。其实二者不属于一个范畴!!!

Web Service和WCF的区别 [1]Web Service:严格来说是行业标准,也就是Web Service 规范. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展 ...

IoC、DI、AOP

相信学习Java语言的同学都对这三个概念不太陌生.下面用spring的例子简单说明这三个概念. IoC(Inversion of Control):控制反转.正常情况(控制未反转)下,如果servic ...

[水煮 ASP.NET Web API2 方法论](3-4)设置路由可选项

问题 怎么样创建一个路由,不管客户端传不传这个参数,都可以被成功匹配. 解决方案 ASP.NET WEB API 的集中式路由和属性路由都支持路由声明可选参数. 在用集中式路由中可以通过 RouteP ...

Android Studio使用教程(二)

以下是本次Google I/O大会发布的IDE Android Studio使用教程第二篇: 在Android Studio使用教程(一)中简要介绍了Android Studio的基本使用,包括安装. ...

Win10开发究竟能实现哪些牛逼的功能

经Win10开发者群(53078485)大咖Aran童鞋授权,这次先Show一下他通过vs2015做的跨端APP一些高级功能的GIF图,大家可以回帖想要哪个功能的DEMO,我和Aran说一下,会把DE ...

spring cloud教程之使用spring boot创建一个应用

<7天学会spring cloud>第一天,熟悉spring boot,并使用spring boot创建一个应用. Spring Boot是Spring团队推出的新框架,它所使用的核心技术 ...

Python之路-python环境安装和简单的语法使用

一.环境安装 Win10(安装python3.x): 1.下载安装包     https://www.python.org/downloads/   2.安装完成后设置环境变量. 桌面-“计算机”-右 ...

Java设计模式07:常用设计模式之装饰器模式(结构型模式)

1. Java之装饰器模式(Decorator Pattern) (1)概述:     装饰模式在Java种使用也很广泛,比如我们在重新定义按钮.对话框等时候,实际上已经在使用装饰模式了.在不必改变原 ...

LINQ实战

转载:http://www.cnblogs.com/yubinfeng/p/4567064.html    原作者:尼古拉斯~yu 文章部分内容在原文的基础上有删改. 我相信在net进阶的这个阶段,很 ...

基于Sql Server 2008的分布式数据库的实践(五)

原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------------------------------------- ...

eclipse怎样改编码格式_Eclipse中各种编码格式及设置相关推荐

  1. eclipse java web乱码_eclipse中的乱码问题

    在新建项目或导入工程时常常遇到的问题: 1.导入工程后,Java文件中文乱码 项目右键--Properties--Resource(快捷键Alt+Enter),在Text file encoding中 ...

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

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

  3. eclipse使用git合并_Eclipse中使用git

    Eclipse从LUNA版本开始默认支持了GIT客户端,可以在导航菜单中windows --> preferences搜索git查看git相关配置. Eclipse中对于git的操作基本都在右键 ...

  4. eclipse 跑maven命令_eclipse中运行maven命令没有反应,console也不出现信息

    eclipse的maven项目中,在run as/Debug as 执行maven命令的时候发现毫无反应,console也不打印信息 原因是因为没有传参数,解决办法如下: 1.打开eclipse的wi ...

  5. eclipse java类图_eclipse中。green UML 自动生成类图

    Green UML和AmaterasUML 两种 一.安装方法: 1.都是先安装GEF 通过eclipse-> install new software安装GEF的网址: http://down ...

  6. eclipse查java版本_Eclipse中如何查看当前使用的JDK版本?

    1.Ecilpse其实是自带JDK的 其实你安装完成之后默认使用的就是自带的JDK 自己另外安装jdk是方便使用 在控制台下~~~ 2.比如你安装的jdk的目录在C:\Program Files\Ja ...

  7. JAVA中运行看不见窗口_eclipse中已经把窗口设置为可视,为什么运行 时还是看不到窗口?...

    这是教材上关于在窗口中添加菜单,子菜单,及菜单项的一个示例,然而我敲完之后窗口并不显示,懵逼... 下面是源代码: //Example.java public class Example { publ ...

  8. java字符编码详解_Java中字符编码格式详解

    一.前言 在分析Comparable和Comparator的时候,分析到了String类的compareTo方法,String底层是用char[]数组来存放元素,在比较的时候是比较的两个字符串的字符, ...

  9. Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略

    Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介.案例应用(python中的编码格式及常见编码问题详解)之详细攻略 目录 符串编码(ASCII编码/GB ...

最新文章

  1. 美团Java面试154道题分享!
  2. Redis的应用场景及优缺点
  3. 在Struts 2中实现文件上传
  4. 深入理解Spark 2.1 Core (八):Standalone模式容错及HA的原理与源码分析
  5. P6122-[NEERC2016]Mole Tunnels【模拟费用流】
  6. 使用Git前的准备工作
  7. Mendix将升级低代码软件开发平台,发布全新数字化生态系统、行业云
  8. 图片 过度曝光_解读:摄影初学者,如何理性处理“曝光不足”与“曝光过度”...
  9. [转]解决xampp无法启动apache的问题
  10. 【一天一个C++小知识】005. C++中的句柄类(智能指针)
  11. 清华山维EPS二次开发VBS基础篇
  12. 时光不负,对我来说不寻常的一年 | 2021 年终总结
  13. 用python输出倍数_打印n的前m个倍数,而无需在Python中使用任何循环
  14. 【教程】阿里云服务器挂载硬盘(其中硬盘为从快照中创建的云硬盘)
  15. 如何对研发团队绩效进行考核?【附各环节人员考核参考表】
  16. 【学术相关】读博士读得想退学?怎么办?
  17. SLM27211 4A 120V 一款国产的NMOS驱动器 兼容 UCC27211 NCP81075 商用的电源解决方案
  18. Archive of Our Own_开箱用out-of-box Redis序列号生成器 不再写任何代码 你值得拥有
  19. Linaro ubuntu for arndale octa烧写步骤
  20. 微信分享php网站不带缩略图,分享网页到微信朋友圈,怎样才能带缩略图?

热门文章

  1. 计算机系统基础 计算机系统的基本组成与基本功能
  2. Java基础——Java NIO详解(一)
  3. 9件事把你从消极情绪中解救出来
  4. 顶级投资者的21条箴言(组图)
  5. H264 CAVLC 研究
  6. 算术编码(Arithmetic Coding)源代码
  7. insertSelective 和 insert 的区别
  8. IntelliJ IDEA 配置JDK
  9. 写给大数据开发初学者的话5
  10. restful风格使用小例