在中文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. 【BZOJ】1756: Vijos1083 小白逛公园(线段树)

    题目 传送门:QWQ 分析 线段树维护一下最大子序列 维护一下最大前缀 最大后缀  区间和 就ok了 好像只能用结构体..... 代码 #include <bits/stdc++.h> u ...

  2. ORA-00257:archiver error.Connect internal only, until freed的问题(转)

    删除归档日志_ORA-00257:archiver error.Connect internal only, until freed的问题   ORA-00257: archiver error. C ...

  3. 笔记本制作centos qcow2格式文件

    笔记本win7先通过vbox安装好centos6.5 然后打开cmd命令行在c:\Program Files\Oracle\VirtualBox下执行 vboxmanage clonehd --for ...

  4. 分布式锁实践(二)-ZooKeeper实现总结

    写在最前面 前几周写了篇 利用Redis实现分布式锁 ,今天简单总结下ZooKeeper实现分布式锁的过程.其实生产上我只用过Redis或者数据库的方式,之前还真没了解过ZooKeeper怎么实现分布 ...

  5. vuex语法精简(方便开发查阅)

    vuex语法精简(方便开发查阅) store结构 state Getter Mutation actions vuex语法精简(方便开发查阅) 本文只是方便开发的时候快速查阅到相关语法,想看详细内容请 ...

  6. django内置html模板的extends和include,模板标签{{ ex }}

    base.html内容 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  7. 1.Ehcache(01)——简介、基本操作

    转自:https://blog.csdn.net/w1014074794/article/details/51086228 Ehcache简介 目录 1       CacheManager 1.1  ...

  8. FCCMBBTN.RES

    [ilink32 Error] Error: Unable to open file 'FCCMBBTN.RES' 用到了fc控件 添加路径到LibPath即可. 1st\1stClassStudio ...

  9. nested exception is java.lang.IllegalStateException: No persistence units parsed from {classpath*:META-INF/persistence.xml}

    Deploying inside Eclipse v3.6 raises the exception. The WEB-INF/classes/ folder in the .war doesn't ...

  10. python 画直方图

    import numpy as npimport matplotlib.pyplot as plt def sample_data(size,length=100): data=[] for i in ...