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

操作系统: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的分布式数据库的实践(五) 程序设计 ------------------------------------------------------------- ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE4 ShooterGame Demo的开火的代码

之前一直没搞懂按下鼠标左键开火之后&#xff0c;代码的逻辑是怎么走的&#xff0c;今天看懂了之前没看懂的部分&#xff0c;进了一步 ShooterCharacter.cpp void AShooterCharacter::OnStartFire() {AShooterPlayerController* MyPC Cast<AShooterPlayerController>(Co…

kafka 异常:return ‘<SimpleProducer batch=%s>‘ % self.async ^ SyntaxError: invalid syntax

Python3.X 执行Python编写的生产者和消费者报错&#xff0c;报错信息如下&#xff1a; Traceback (most recent call last): File "mykit_kafka_producer.py", line 9, in <module> from kafka import KafkaProducer File "/usr/local/lib/python3.7/sit…

python 分布式计算框架_漫谈分布式计算框架

如果问 mapreduce 和 spark 什么关系&#xff0c;或者说有什么共同属性&#xff0c;你可能会回答他们都是大数据处理引擎。如果问 spark 与 tensorflow 呢&#xff0c;就可能有点迷糊&#xff0c;这俩关注的领域不太一样啊。但是再问 spark 与 MPI 呢&#xff1f;这个就更远了。…

Codeforces 899D Shovel Sale

题目大意 给定正整数 $n$&#xff08;$2\le n\le 10^9$&#xff09;。 考虑无序整数对 $(x, y)$&#xff08;$1\le x,y\le n, x\ne y$&#xff09;。 求满足 「$xy$ 结尾连续的 9 最多」的数对 $(x,y)$ 的个数。 例子&#xff1a; $n50$&#xff0c;$(49,50)$ 是一个满足条件的…

Windows系统使用minGW+msys 编译ffmpeg 0.5的全过程详述

一.环境配置 1.下载并安装 MinGW-5.1.4.exe (http://jaist.dl.sourceforge.net/sourcef … -5.1.4.exe)&#xff0c;安装时选中 g, mingw make。建议安装到c:/mingw. 2.下载并安装 MSYS-1.0.11-rc-1.exe (http://jaist.dl.sourceforge.net/sourcef … 1-rc-1.exe)&#xff0c;安…

Liunx安装gogs,mysql,jdk,tomcat等常用软件

Liunx CentOS系统采用yum安装Mysql 一.安装mysql客户端 yum -y install mysql 二.安装mysql服务器端 [注意:由于CentOS7下的不自带mysql-server,所以得先安装资源包,步骤: 1.wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm (采用wget获取必须有wge…

stm32单片机端口映射_STM32单片机的重映射与地址映射的使用方法及步骤

重映射STM32中对于一些端口的外设已经被其他引脚所使用&#xff0c;这是就需要用端口重映射来解决了&#xff0c;很方便。以USART1为例重映射的步骤为&#xff1a;打开重映射时钟和USART重映射后的I/O口引脚时钟&#xff0c;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_A…

python 第三方模块 yaml - 处理 YAML (专门用来写配置文件的语言)

markdown 的配置使用 Yaml —— Yet Another Markup Language &#xff1a;另一种标记语言。 简介 YAML 是专门用来写配置文件的语言&#xff0c;非常简洁和强大&#xff0c;远比 JSON 格式方便。 YAML在python语言中有PyYAML安装包。 YAML 语言&#xff08;发音 /ˈjməl/ &…

程序员 赚钱

业余编程赚钱 程序员的好方法 现在的人生活水平高了&#xff0c;开销也大了&#xff0c;同时对于一些技术性人员来说有很多种&#xff0c;有些程序员自己开公司&#xff0c;开发自己的产品&#xff0c;年赚百万&#xff0c;有些程序员还在给别人打工&#xff0c;每天累死累活的…

java合并单元格的快捷键_java poi合并单元格问题

使用poi导出的execl合并单元格&#xff0c;会出现下图问题整个单元格看似合并了&#xff0c;但是文字没有垂直居中&#xff0c;而且execl中所有的合并都会在第三行开始出现灰色分层样式合并单元格伪代码String upCompareField ""; //上一行的对比值for(int i 0; i …

webpack自动化构建脚本指令npm run dev/build

指令 为不同环境配置可执行指令&#xff0c;我们使用npm scripts方式&#xff0c;在package.json文件中配置执行指令&#xff1a; {"scripts": {"start": "cross-env NODE_ENVdev webpack-dev-server","build": "cross-env NODE_…

前端之 form 详解

认识表单 在一个页面上可以有多个form表单&#xff0c;但是向web服务器提交表单的时候&#xff0c;一次只可以提交一个表单。要声明一个表单&#xff0c;只需要使用 form 标记来标明表单的开始和结束&#xff0c;若需要向服务器提交数据&#xff0c;则在form标签中需要设置act…

代码 优化 指南 实践

C代码优化方案 华中科技大学计算机学院 姓名&#xff1a; 王全明 QQ&#xff1a; 375288012 Email&#xff1a; quanming1119163.com 目录 目录 C代码优化方案 1、选择合适的算法和数据结构 2、使用尽量小的数据类型 3、减少运算的强度 &#xff08;1&…

.12-浅析webpack源码之NodeWatchFileSystem模块总览

剩下一个watch模块&#xff0c;这个模块比较深&#xff0c;先大概过一下整体涉及内容再分部讲解。 流程图如下&#xff1a; NodeWatchFileSystem const Watchpack require("watchpack");class NodeWatchFileSystem {constructor(inputFileSystem) {this.inputFileSy…

Python 第三方模块之 beautifulsoup(bs4)- 解析 HTML

简单来说&#xff0c;Beautiful Soup是python的一个库&#xff0c;最主要的功能是从网页抓取数据。官方解释如下&#xff1a;官网文档 Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。 它是一个工具箱&#xff0c;通过解析文档为用户提供…

modal vue 关闭_Vue弹出框的优雅实践

引言页面引用弹出框组件是经常碰见的需求,如果强行将弹出框组件放入到页面中,虽然功能上奏效但没有实现组件与页面间的解耦,非常不利于后期的维护和功能的扩展.下面举个例子来说明一下这种做法的弊端.click"openModal()">点击 :is_open"is_open" close…

Python 第三方模块之 lxml - 解析 HTML 和 XML 文件

lxml是python的一个解析库&#xff0c;支持HTML和XML的解析&#xff0c;支持XPath解析方式&#xff0c;而且解析效率非常高 XPath&#xff0c;全称XML Path Language&#xff0c;即XML路径语言&#xff0c;它是一门在XML文档中查找信息的语言&#xff0c;它最初是用来搜寻XML文…

(转)Linux下PS1、PS2、PS3、PS4使用详解

Linux下PS1、PS2、PS3、PS4使用详解 原文&#xff1a;http://www.linuxidc.com/Linux/2016-10/136597.htm 1、PS1——默认提示符 如下所示&#xff0c;可以通过修改Linux下的默认提示符&#xff0c;使其更加实用。在下面的例子中&#xff0c;默认的PS1的值是“\s-\v\$”,显示出…

开放平台大抉择

开放平台大抉择之新浪SAE&#xff1a;为个人应用开发带来福音 导读&#xff1a;继上期淘宝网副总裁王文彬从平台功能特色、运营状况等多方面分享了淘宝开放平台的历程和挑战之后。国内另一家云平台服务方的典型代表——Sina App Engine(简称SAE)&#xff0c;作为新浪研发中心于…

ip68级防水可以泡多久_iPhone8防水级别升级至IP68:能在1.5米深水中坚持30分钟

1月15日&#xff0c;业界最新的泄密消息显示&#xff0c;苹果拟在今年推出的“iPhone 8”智能手机会是一款革命性的手机&#xff0c;功能和配置就不多说了。苹果还将解决iPhone 7的一个重要缺陷&#xff0c;就是大大增强iPhone 8的防水性能&#xff0c;防水级别达IP68。《韩国先…