UTF-8 without BOM
我有一些javascript文件,我需要它们以utf-8格式保存(不带bom),每当我用notepad++将它们转换为正确的格式时,当我在Visual Studio中打开它们时,它们都会用bom恢复为utf-8格式。我怎样才能阻止VS2010这样做呢?
另一个问题是,在Visual Studio中不带签名的UTF-8是否与不带BOM的UTF-8相同?
型
BOM或字节顺序标记有时非常烦人。Visual Studio不会更改文件,除非您保存它(如Hans所说)。
下面是解决问题的方法:如果要用其他编码保存文件,请选择"另存为",并在"文件"对话框中扩展"保存"按钮,然后选择"用编码保存"。或者,如果要永久删除此设置,只需打开"文件"菜单并选择"高级保存选项",然后在其中选择"不带签名的UTF-8"(这也回答了最后一个问题:)。是的,"没有签名的UTF-8"与没有BOM相同。
型
我已经创建了修复文件编码扩展,它可以防止Visual Studio 2010+向UTF-8文件添加BOM。
型
现在有图片。
百万千克1去
。
百万千克1然后在"保存"按钮上单击"三角形",然后单击"EDOCX1"(2)。百万千克1
氧化镁
百万千克1单击确定覆盖文件,然后从编码列表中找到
氧化镁
希望这能节省你一些时间。
型
不幸的是,这不适用于csproj文件。没有"高级保存选项",即使已将CS文件设置为"不带签名的UTF-8",csproj文件仍与BOM一起保存。如果使用VSS,它仍然会抱怨项目文件。
型
utf-8-"另存为"(不带签名)默认值-请求包含不带签名的utf默认值
VS 2017 natively supports EditorConfig so a recommended solution
is to add.editorconfig file to your code base and setcharset => utf-8 .
Then once you save a file it will be saved as UTF-8 without BOM.
号
型
最近我发现了这个微小的命令行工具,它添加或删除任意UTF-8编码文件上的BOM:UTF BOM utils(Github的新链接)
小小的缺点,你可以只下载普通的C++源代码。您必须创建makefile(例如,使用cmake)并自己编译它,此页上不提供二进制文件。但是,对于软件开发人员来说,这不应该是任何问题。
型
对于VS2010 C++,当源文件包含多字节字符(例如中文)时,会出现UTF8不带BOM的问题。
如果没有BOM,这些字符将无法正确识别,并导致编译失败。
型
即使有了Dave81的解决方案,每次我保存HTML文件时,Visual Studio 2015社区仍然将我的文件还原为utf8-bom。
当我创建那个HTML文件时,我右键单击项目并选择"添加",然后添加一个HTML文件。
默认情况下,Visual Studio将在HTML文件中包含一个标记。
只需移除标签,然后应用Dave81的解决方案,这一次问题就消失了。
Visual Studio似乎解析了您的HTML文件,当它看到该标记时,它会将该文件转换为utf8-bom,而不考虑原始文件格式(utf8不带bom)。
**我本可以直接在Dave81的解决方案下发表评论,但我没有足够的观点来这样做……
型
对于Visual Studio代码,请执行以下操作:
百万千克1从右下角选择当前编码氧化镁百万千克1百万千克1从"选项"中,选择"带编码保存"氧化镁百万千克1百万千克1从选项中,选择UTF-8。百万千克1