【问题标题】:FAKE: CreateCSharpAssemblyInfo has difficulties with German umlautsFAKE:CreateCSharpAssemblyInfo 对德语变音符号有困难
【发布时间】:2016-02-12 17:48:26
【问题描述】:

当我在属性值中使用德语变音符号时,它们会被转换为垃圾。

Target "AssemblyInfo" (fun _ ->
    CreateCSharpAssemblyInfo "./src/App1/Properties/AssemblyInfo.cs"
        [
            Attribute.Title       "App1"
            Attribute.Product     "some umlauts: äüö"
        ]
)

构建完成后,我在 AssemblyInfo.cs 中找到了类似的内容:

[assembly: AssemblyProductAttribute("some umlauts: ���")]

我怎样才能避免这种情况?

【问题讨论】:

  • 这可能是(您的脚本的)编码有问题(注意:我从未尝试过)-您可以尝试更改编码并查看它会产生什么?如果不是,那可能是 github 上的 bug-ticket 的一个很好的候选者

标签: f# f#-fake


【解决方案1】:

我已经通过用相应的 unicode 代码替换变音符号解决了这个问题:

Attribute.Product "some umlauts: \u00e4\u00fc\u00f6"

更新

使用 Unicode 字符确实有效,但真正的原因是编码问题。将构建脚本的编码更改为 UTF-8 后,变音符号被正确翻译。 (感谢@Carsten 和@mthierba)

【讨论】:

  • 我之前也遇到过同样的问题,正如@Carsten 建议的那样,这是因为 FAKE 脚本文件是用 ANSI 编码而不是 UTF-8 保存的。
  • @Carsten 和 mthierba:你们俩都是对的。这确实是一个编码问题。将其发布为答案,我会给第一个答案。
  • Carsten 和@mthierba:你们俩都是对的。这确实是一个编码问题。将其发布为答案,我会给第一个答案。
猜你喜欢
  • 1970-01-01
  • 2016-01-21
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 2013-12-25
  • 2016-06-16
  • 2011-11-07
相关资源
最近更新 更多