没有BOM的UTF-8

kab*_*ros 173 byte-order-mark visual-studio-2010 visual-studio

我有javascript文件,我需要它们以UTF-8(没有BOM)保存,每当我在Notepad ++中将它们转换为正确的格式时,当我在Visual Studio中打开它们时,它们将恢复为带有BOM的UTF-8.我如何阻止VS2010这样做呢?

另一个问题是,Visual Studio中没有签名的UTF-8与没有BOM的UTF-8相同吗?

Dav*_*e81 218

BOM或字节顺序标记有时非常烦人.Visual Studio不会更改文件,除非您保存它(如汉斯所说).

以下是您的问题的解决方案: 如果您想使用其他编码保存文件,请选择另存为并在文件对话框中扩展保存按钮,然后选择"使用编码保存".或者,如果您想要永久删除此设置,只需打开文件菜单并选择"高级保存选项",您应该选择"没有签名的UTF-8"(这也回答了您的上一个问题:).是"没有签名的UTF-8"与没有BOM的情况相同.

  • @ChrisJaynes右键单击菜单栏,在打开的位置,然后单击自定义...命令...(*)菜单栏:文件... [添加命令] ...添加"高级保存选项"我放它在"保存选择"的正上方 (20认同)
  • 注意:UTF-8无签名位于列表的最底部. (13认同)
  • 我想知道是否有一个选项默认为所有文件启用它. (8认同)
  • 好吧,我没有条目"没有签名的UTF-8"......那么问题是什么呢? (4认同)
  • 当我选择“使用编码保存”时,它正确保存了文件,但无论我在编辑器中打开了哪种文件,我都没有在“文件”菜单中看到“高级保存选项”。嗯…… (3认同)

Ser*_*sov 25

我创建了修复文件编码扩展,阻止Visual Studio 2010+将BOM添加到UTF-8文件.


Mat*_*ius 25

现在有了图片.

  1. 转到File- > Save As.

在此输入图像描述

  1. 然后在保存按钮上单击三角形并单击Save with Encoding....

在此输入图像描述

  1. 单击确定覆盖文件,然后从编码列表中找到UTF-8 Without signature- >单击OK.

在此输入图像描述

希望这能为您节省一些时间.


Dav*_*son 9

UTF-8 - “另存为”(无签名)默认值 - 请求包含无签名 UTF 的默认值

VS 2017 本身支持EditorConfig,因此推荐的解决方案是将.editorconfig文件添加到代码库并设置charset => utf-8. 然后,一旦您保存文件,它将被保存为无 BOM 的 UTF-8。


小智 6

不幸的是,这不适用于csproj文件.没有"高级保存选项",即使您已为cs文件将其设置为"无签名的UTF-8",csproj文件仍会保存为BOM.如果您使用VSS,它仍会抱怨项目文件.

  • "也许你应该从VSS转移到SVN." 这是一个什么样的建议?我们大多数从事企业软件工作的人都没有选择我们的源控制系统.SVN拥有引发git创建的问题,因为他们厌倦了SVN. (6认同)

Mah*_*esh 5

对于Visual Studio Code,请执行以下操作:

  1. 从右下角选择当前编码 在此输入图像描述
  2. 从选项中,选择使用编码保存 在此输入图像描述
  3. 从选项中选择UTF-8 在此输入图像描述

  • VS 和 VS code 有很大不同。这个问题是关于VS的 (2认同)