【发布时间】:2013-10-30 08:58:47
【问题描述】:
VSEW 2013 在保存文件时更改了文件的编码 - 我在 VSEW 2012 中没有出现这个问题。我不记得我是否更改了配置。以防止在 VSEW 2012 中出现这种情况,或者它是否按默认要求工作。
在任何情况下,我都无法弄清楚如何保存编码,除了每个文件单独通过文件 > 另存为并明确设置所需的编码。依赖这种方法会很乏味(而且很容易出错)。
特别是,最初编码为 UTF-8 without BOM(无签名)的 HTML 文件被 VSEW 2013 保存为 UTF-8 with BOM。
是否有任何全局设置可以防止 VSEW 2013 更改编码,或者将其设置为始终使用 UTF-8 而没有 BOM?
喷气推进实验室
附: Vlasov Studio 提供的免费修复文件编码扩展 (FixFileEncoding_11.vsix) 可以满足需要(以及更多),但只能安装在 Visual Studio Pro 上,而不是 Express 版本上。 http://vlasovstudio.com/fix-file-encoding/index.html
【问题讨论】:
-
感谢您修正错字。但是没有人有任何解决此问题的经验吗?肯定没有人真正想要在 HTML 文件中插入 BOM 吗?这对我来说是一个破坏者 - 如果没有修复或简单的解决方法,我将不得不恢复到 2012 版本或切换到不同的 HTML/JS/CSS 编辑器。
-
看来这个问题并不适用于所有文本文件,正如我最初所想的那样,而只适用于包含 的 HTML 文件,即在我的情况下我的所有网络页(几百页)。我过去在处理包含 BOM 的 Web 文件时遇到过问题,但那是几年前的事了,我不记得细节了。今天我在我目前使用的所有实时网络服务器和我的测试网络服务器上尝试了一个编码为 UTF-8 和 BOM 的测试页面 - 我看不到任何问题。
-
看起来可以接受这个 - 恢复到 2012 版本的 VSEW 或切换到不同的 IDE 都没有吸引力。在短期内,会出现带有和不带有 BOM 的文件。我希望这不会导致 TFS 源代码控制/比较出现问题。 (当唯一的差异是 BOM 时,WinDiff 会显示差异;DiffMerge 会忽略 BOM。)
标签: utf-8 visual-studio-2013 byte-order-mark