【问题标题】:What is “Character Encoding” used for in Rational Team Concert?Rational Team Concert 中使用的“字符编码”是什么?
【发布时间】: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 编码保存文件。

标签: character-encoding rtc


【解决方案1】:

Following the FAQ,它由 RTC 客户端(Eclipse 或 VS)在 checkin 阶段使用。

如果此处指定的编码与您要签入的文件中使用的编码不同,则会出现错误:

基本上,Jazz 在签入项目内容时尝试读取一个文本文件,但由于内容不符合编码规则而无法读取。错误消息应为您提供导致问题的文件的名称。

在 Eclipse 中,您有文本文件的默认编码
要查看它是什么,请从工具栏中选择 Windows > Preferences... > General > Workspace
如果这不是大多数文本文件的编码,则应在此处进行更改。

在团队中工作时,您应该决定您和您的团队将使用的通用编码。该编码也应该在服务器上可用(以便注释正常工作)。您需要与团队的其他成员沟通编码是什么。

【讨论】:

  • 谢谢。但是,我不确定这如何减少混乱。我没有看到这个错误,无论是新文件还是现有文件。也许这是一个仅限 Eclipse 的功能,自从上次修改常见问题(2012 年)以来,Eclipse 已经改变了这一点。
  • @Martin 是的,这个想法保持不变(即使设置已更改)用于客户端文本文件的“字符编码”,用于 Rational Team Concert 中的签入设置。
猜你喜欢
  • 1970-01-01
  • 2015-01-02
  • 2013-01-26
  • 2013-01-21
  • 2011-01-05
  • 1970-01-01
  • 1970-01-01
  • 2011-01-21
  • 2010-11-10
相关资源
最近更新 更多