gpt4 book ai didi

visual-studio - Visual Studio 编码问题

转载 作者:行者123 更新时间:2023-12-04 08:46:16 25 4
gpt4 key购买 nike

我在 Visual Studio 2008 中遇到文件编码问题。在编译时我遇到了这样的错误:

alt text

当我尝试打开发生特定错误的文件时,会出现编码窗口:

alt text

通过默认自动检测设置。当我将编码选项更改为 UTF-8 时,一切正常。如果我使用 UTF-8 编码打开项目中的每个有问题的文件,项目就会开始编译。问题是我有太多文件,打开每个文件并将编码设置为 UTF-8 是荒谬的。有没有办法快速做到这一点?

我的 VS 设置是:

alt text

我使用的是 Windows Server 2008 R2。

更新:

对于汉斯·帕桑特和诺亚·理查兹。谢谢互动。我最近改变了我的操作系统,所以一切都是新鲜的。我还从源代码管理下载了新的解决方案。

在操作系统区域设置中,我将系统区域设置更改为波兰语(波兰):

alt text

在 VS 中,我已将国际设置更改为与 Windows 相同:

alt text

问题仍然没有解决。

当我使用自动检测编码打开一些 .cs 文件时,然后检查 文件 -> 高级保存选项... ,其中一些 .cs 文件的代码页为 1250:

alt text

但内部看起来如下:

alt text

它是有线的,因为当我在源代码管理中检查此类特定文件的属性时,它们似乎设置了 UTF-8 编码:

alt text

我不明白这种不匹配。

所有其他文件都有 UTF-8 编码:

alt text

并正确打开。我基本上不知道出了什么问题,因为据我所知,我的 friend 设置了与我相同的选项,并且同一个项目为他正确编译。但到目前为止,他很高兴还没有遇到编码问题。

最佳答案

带抑扬符的大写 A 告诉我该文件是 UTF-8(如果您使用十六进制编辑器查看,您可能会看到字节是 C2 A0)。这是 UTF-8 中的不间断空格。

Visual Studio 不会检测编码,因为(很可能)文件中没有足够的高位 ASCII 字符来帮助进行可靠的检测。

此外,没有 BOM(字节顺序标记)。这将有助于检测(这是“带有签名的 UTF-8”描述中的“签名”)。

您可以做什么:将 BOM 添加到所有没有 BOM 的文件中。
如何添加?制作一个只有 BOM 的文件(记事本中的空文件,另存为,选择 UTF-8 作为编码)。它将是 3 个字节长(EF BB BF)。
您可以在每个缺少 BOM 的文件的开头复制它:

   copy /b/v BOM.txt + YourFile.cs YourFile_Ok.cs
ren YourFile.cs YourFile_Org.cs
ren YourFile_Ok.cs YourFile.cs

确保 BOM 文件的名称和原始文件的名称之间有一个 +。

在一个或两个文件上尝试一下,如果有效,您可以创建一些批处理文件来执行此操作。
或者一个小的 C# 应用程序(因为你是一个 C# 程序员),它可以检测文件是否已经有 BOM,这样你就不会添加两次。当然,你几乎可以在任何东西上做到这一点,从 Perl 到 PowerShell 再到 C++ :-)

关于visual-studio - Visual Studio 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4132704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com