在中文Windows操作系统上安装Eclipse或MyEclipse,默认会将Eclipse的编码设置为GBK,与操作系统的默认编码保存一致。

在这种默认设置下,在Eclipse新增的文件不会自动被团队资源管理器检测到,只能在“检测到的更改”中查询到,必须使用“提升”的方法将其添加到“包含的更改”中(如图一)

图一:只能在检查到的更改中查询新增的文件

图二:提示监测到的更改文件(新增的文件)

通过上述方法提交到服务上的文件,TFS会将其标记为UTF-8, 采用UTF-8的方式读取和解析(如图三)

图三:TFS中标记文档的编码格式

这样一来,如果文档中有中文字符,就会出现乱码显示(如图四);合并变更集的过程中也会因为编码格式不一致,导致比较失败,从而合并失败。

图四:中文显示乱码

为了避免上述问题的发生,建议在开发项目之前,所有团队统一Eclipse的编码设置,见Eclipse的工作区编码设置为UTF-8编码(如图五)

图五:设置Eclipse的工作区编码

使用这样设置,有一些几点好处:

1. 避免了Eclipse和TFS编码不一致导致乱码的问题

2. Eclipse中的团队资源管理器会自动检测到新增的文件,并自动将其添加到“包含的更改”中

2. 使用UTF-8编码格式的文件支持中文、英文,和其他非英文文字,例如日文、韩文。如果使用GBK编码,后续如果代码中需要韩文,则必须要重新将代码的编码格式改回UTF-8。当项目开发到一定规模后再调整编码,将是一件非常麻烦的工作

万事皆有两面性,如果将一个使用GBK编码的项目导入到TFS中,再修改项目的编码为UTF-8,则原来代码中的中文都无法正常显示,需要手工一个一个调整为UTF-8,也是一个不小的工作。

所以需要开发人员在编写代码之前,就做好了编码的规划工作,同时在团队中统一编码规范和设置,避免一个团队编码格式不一样,你用UTF-8我用GBK,集成代码以后,无法正常浏览其他成员的代码。

文章来源:http://www.cnblogs.com/danzhang 张洪君

GBK还是UTF-8? Eclipse连接TFS的编码之痛!encoding, encoding, encoding…的更多相关文章

  1. Jetbrains Idea连接TFS时配置的坑

    #Team Explorer Everywherehttps://www.microsoft.com/en-us/search/result.aspx?q=team+explorer+everywhe ...

  2. 使用Eclipse切换TFS工作区

    这个问题首先牵涉到两个概念: - Eclipse的工作区:Eclipse的工作区是运行Eclipse时需要连接的本地代码空间,默认情况下,在Eclipse中创建的项目都保存在Eclipse的工作区中 ...

  3. genymotion和eclipse连接问题,一直出错

    前两天重装系统,但是在运行android代码的时候遇到了这样的问题 The connection to adb is down,and a server error has occured. You ...

  4. 禁止Visual Studio启动时自动连接TFS服务器

    在默认设置情况下,Visual Studio启动时,会自动连接上次打开过的TFS服务器.这种设计能够提高开发人员的工作效率,避免每次手动连接TFS服务器. 但是在某些情景中,也会给人造成不必要的麻烦, ...

  5. (转) Eclipse连接MySQL数据库(傻瓜篇)

    Eclipse连接MySQL数据库(傻瓜篇) 原帖地址: http://www.cnblogs.com/fnng/archive/2011/07/18/2110023.html Posted on 2 ...

  6. eclipse连接远程hadoop集群开发时权限不足问题解决方案

    转自:http://blog.csdn.net/shan9liang/article/details/9734693 eclipse连接远程hadoop集群开发时报错   Exception in t ...

  7. (转)VS2008连接TFS 2010

    偶尔还是会用到,老是忘记安装的顺序,在这儿mark一下. 用VS2008连接TFS 2010, 需要按照以下顺序安装一下组件: .VS2008 Team Explorer 2008 3.Install ...

  8. eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。

    eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接.全部报错信息如下: Exception in thread & ...

  9. eclipse连接远程hadoop集群开发时0700问题解决方案

    eclipse连接远程hadoop集群开发时报错 错误信息: Exception in thread "main" java.io.IOException:Failed to se ...

随机推荐

  1. DSL与编译原理

    DSL:领域语言 类似于SQL的一种语言,比如自创一种语言,如何解析 可以自己实现类似于一种语言: 比如hibernate里面的sql解析就使用ANTLR 比如:http://hellojinjie. ...

  2. python中字典的比较

    今天碰到一个字典比较的问题,就是比较两个字典的大小,其实这个用的不多,用处也没多少,但是还是记录一下. 字典的比较顺序如下: 1.先比较字典的元素的个数,那个多,就哪个大: 2.比较字典的键,在比较字 ...

  3. open语句对文本和二进制文件的读写

    文本文件的操作此种方式是以行为单位进行读取的基本单位,主要应用的方法和函数有Open,Close,Line Input,FreeFile,EOF等.先简述其功能然后结合代码示例进行说明.Open:顾名 ...

  4. U3D+SVN: 两份相同资源放在不同目录下导致META的更改

    U3D+SVN: 两份相同资源放在不同目录下导致META的更改. 实际情形:将地图文件map拷一份放在其它目录,回到UNITY编辑器,载入完成后加到磁盘,看到map文件夹下的所有meta都变红了. r ...

  5. 迷你MVVM框架 avalonjs 1.3发布

    性能得到大幅改良的avalon1.3发布了. 修复$outer BUG 修复IE6-8下扫描加载Flash资源的OBJECT标签时,遇到它既没有innerHTML也没有getAttributeNode ...

  6. c语言实现常见字符串函数strchr strstr strcmp atoi itoi(字符串换成整数)

    好久没有更新博客了,刚刚出炉练练手的程序如下,很简单,没有考虑过多复杂的东西,有好的想法,欢迎指教: 字符查找函数: char *my_strchr(const char *s,int c) { ch ...

  7. JS nodeJs 的日期计算

    目录[-] date-utils Static Methods 静态方法 Instance Methods 接口方法 date-utils 前端引用 <script type="tex ...

  8. Redis Set命令

    [Redis Set命令] SET key value [EX seconds] [PX milliseconds] [NX|XX] 将字符串值 value 关联到 key . 如果 key 已经持有 ...

  9. Website蝴蝶结构

    [Website蝴蝶结构] 网页的其正向链接连结在一起表现为一种蝴蝶结结构. 1.蝴蝶结中部(SCC, Strongly Connected Componnet) 这种网页彼此相连. 2.蝴蝶结左部( ...

  10. Source命令及脚本的执行方式

    [Source命令及脚本的执行方式] source filename 与 sh filename 及./filename执行脚本的区别在那里呢? 1.当shell脚本具有可执行权限时,用sh file ...