【问题标题】:C# Filename with Czech Character, not working out带有捷克字符的 C# 文件名,无法解决
【发布时间】:2009-10-29 18:38:04
【问题描述】:

我有一个包含捷克字符的字符串。

字符串是“0bálka”

然后这个字符串被用来创建一个文件,以及它的文件夹和文件名的一部分。

但是当我保存文件时,在 Windows 资源管理器中,我在文件名中得到有趣的块字符。

知道如何保存这个文件并保留有效的捷克语字符吗?

【问题讨论】:

    标签: c#


    【解决方案1】:

    两个猜测这里可能发生了什么:

    1. Explorer 中使用的字体不涵盖该特定字符。不太可能,因为 á 几乎不是特殊字符。
    2. 更可能的变体是您在 C# 中的源文件编码是非 Unicode,被解释为一些随机代码页(可能是 CP 1252 或 1251),并且您使用的结果字符与您在源文件。然后出现字体问题。

    您可以通过单击“文件”菜单中的“另存为...”在 Visual Studio 中使用特定编码保存您的源文件,然后单击保存按钮右侧的小箭头并然后选择“使用编码保存”。然后,您应该从列表中选择一个值,例如“Unicode (UTF-8 with signature) - Codepage 65001”。

    【讨论】:

      【解决方案2】:

      你的窗口应该有捷克语才能显示正确的文件名,这与 c# 无关。

      【讨论】:

      • 实际上我可以在德语或英语 Windows 版本上创建这样的文件。字体支持与 UI 语言无关
      【解决方案3】:

      别担心,这与 windows 如何显示文件名有关,如果您更改 windows 区域设置,它可能仍然具有正确的名称。

      但是,当您将文本保存到文件时,您需要小心encoding you use

      您可以在这里了解一些可能发生的事情的一般背景:

      The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

      【讨论】:

      • 问题是文件名称,而不是文件的内容。但是,是的,Unicode 可能会解决这个问题。然而,Joel 的文章并没有很多人认为的那么出色。不幸的是,它遗漏了许多重要的细节。
      • 乔尔?遗漏重要细节?!从不;-)
      猜你喜欢
      • 1970-01-01
      • 2013-07-03
      • 2016-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多