【发布时间】:2015-11-06 11:35:00
【问题描述】:
我对 Rational Team Concert 中的“字符编码”有点困惑,同时对现在存储在 RTC 中的 UTF-8 编码文件有问题。 (我以前从未遇到过这些文件的问题。)
- “字符编码”显示在 Eclipse 客户端(至少)这里:
- 文件比较。
- Jazz SCM 属性。
- Visual Studio RTC 客户端中没有显示“字符编码”,至少我找不到。 (当然,VS 有自己的方式来显示和更改文件的编码,但这些方式与 RTC 无关。)
- 我看到几个使用 MIME 类型
text/plain进行版本控制的文件,几乎每个版本都有不同的“字符编码”,有时从 UTF-8 到 Cp1252 来回更改。通常,一个大文件中只更改几行。 - 在我看来,自动与 Visual Studio 客户端合并会定期(但并非总是)与编码和/或字节顺序标记混淆,并更改非 7 位 ASCII 字符。我无法重现此内容。
我从一位优秀的answer那里学到了几件事:
- 编码不存储在服务器上,它是仅限客户端的。
-
scm set property file.encoding设置用户属性(甚至可以设置为随机值,例如foo)。但是: - 据我所知,
file.encoding完全被 Visual Studio 忽略了,尽管 this doc 说:
要更改从 CLI 或 Rational Team Concert Client for Microsoft Visual Studio IDE 签入的文件的编码,请运行 scm set property [...] 示例:scm set property file.encoding UTF-8 path/to /文件。
tl;dr:我的问题是:这个“字符编码”和/或“file.encoding”是否有任何相关性,如果是,它的用途是什么?
【问题讨论】:
-
我认为不应在服务器中更改文本编码,因为它可能会影响开发人员的不良配置环境。这可以转化为功能性本地代码和容易出错的生产应用程序。文件编码通常是在应用程序中创建文件时进行的。每次我认为一个工具有错误时,我都错了。检查您的文本编辑客户端,它可能配置为使用 Cp1252 编码保存文件。