GBK还是UTF-8? Eclipse连接TFS的编码之痛!encoding, encoding, encoding…
在中文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…的更多相关文章
- Jetbrains Idea连接TFS时配置的坑
#Team Explorer Everywherehttps://www.microsoft.com/en-us/search/result.aspx?q=team+explorer+everywhe ...
- 使用Eclipse切换TFS工作区
这个问题首先牵涉到两个概念: - Eclipse的工作区:Eclipse的工作区是运行Eclipse时需要连接的本地代码空间,默认情况下,在Eclipse中创建的项目都保存在Eclipse的工作区中 ...
- genymotion和eclipse连接问题,一直出错
前两天重装系统,但是在运行android代码的时候遇到了这样的问题 The connection to adb is down,and a server error has occured. You ...
- 禁止Visual Studio启动时自动连接TFS服务器
在默认设置情况下,Visual Studio启动时,会自动连接上次打开过的TFS服务器.这种设计能够提高开发人员的工作效率,避免每次手动连接TFS服务器. 但是在某些情景中,也会给人造成不必要的麻烦, ...
- (转) Eclipse连接MySQL数据库(傻瓜篇)
Eclipse连接MySQL数据库(傻瓜篇) 原帖地址: http://www.cnblogs.com/fnng/archive/2011/07/18/2110023.html Posted on 2 ...
- eclipse连接远程hadoop集群开发时权限不足问题解决方案
转自:http://blog.csdn.net/shan9liang/article/details/9734693 eclipse连接远程hadoop集群开发时报错 Exception in t ...
- (转)VS2008连接TFS 2010
偶尔还是会用到,老是忘记安装的顺序,在这儿mark一下. 用VS2008连接TFS 2010, 需要按照以下顺序安装一下组件: .VS2008 Team Explorer 2008 3.Install ...
- eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接。
eclipse连接远程Hadoop报错,Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接.全部报错信息如下: Exception in thread & ...
- eclipse连接远程hadoop集群开发时0700问题解决方案
eclipse连接远程hadoop集群开发时报错 错误信息: Exception in thread "main" java.io.IOException:Failed to se ...
随机推荐
- F5 SNAT NAT相关
SNAT: 跟路由器.防火墙一样,BIG-IP系统提供NAT (Network Address Translation)和SNAT(Secure Network Address Translation ...
- mybatis 3 -枚举
定义枚举: public static enum AppStateEnum { Valid("有效"), Virtual("虚拟"), Hide("隐 ...
- IOS上架截屏 屏幕快照
IOS上架截屏,屏幕快照,4种屏幕尺寸,每种尺寸5张软件功能截图. 大小等于对应设备的屏幕的像素大小.使用模拟器,command +s截图就可以了虚拟机里的手机截屏就保存在mac 桌面上了.jpg,p ...
- ubuntu上安装 MySQL 启动/停止 连接MySQL
1.Ubuntu上安装MySQL服务 1.安装服务端 sudo apt-get install mysql-server 2.安装客户端 sudo apt-get install m ...
- JAVA_03
在Java中,理解JDK.JRE.JVM三者的区别是十分重要的; JDK JDK是Java Development Kit(Java开发工具包)的缩写,包含JRE和其他开发工具. JRE JRE是Ja ...
- delphi 工具
http://blog.csdn.net/maxwoods/article/category/1285993
- dsm 黑 离线转码 备忘
6.2以后不行 我用的是 DS3617_6.17-15284 进入下载安装文件和工具 1安装 .套件来源增加 packages.synocommunity.comb.设置信任级别为任何发行者 c.找到 ...
- Python运维开发基础03-语法基础
上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现" ...
- JAVA - 守护线程(Daemon Thread)
转载自:http://www.cnblogs.com/luochengor/archive/2011/08/11/2134818.html 在Java中有两类线程:用户线程 (User Thread) ...
- 打劫房屋 · House Robber
[抄题]: 假设你是一个专业的窃贼,准备沿着一条街打劫房屋.每个房子都存放着特定金额的钱.你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警 ...