有没有办法强制Visual Studio(2010)始终将所有文件保存为UTF-8编码?
有没有办法强制Visual Studio(2010)始终将所有文件保存为UTF-8编码?
我不知道有什么方法可以强制将所有内容保存为UTF-8格式,但您可以逐个选择来实现。当您首次保存文档并出现“另存为”对话框时,保存按钮实际上将是一个下拉按钮,其中有两个选项。您要选择“使用编码保存...”,然后它会呈现给您已安装的Windows编码列表。
您真正想要的编码在底部:
Unicode(无签名的UTF-8)-代码页65001
尽管如果您想要避免很多麻烦,您可能会选择靠近顶部的选项:
Unicode(带签名的UTF-8)-代码页65001
它们的区别在于后者会添加UTF-8签名(这只是用UTF-8编码的UTF-16字节序标记)。这是我非常不喜欢的一点,因为UTF-8没有多个字节顺序,所以BOM(字节顺序标记)最多是冗余的,在最坏的情况下会破坏所有种类的文本处理工具。微软公司使用它来“自动检测”UTF-8,因为对于单字节字符,UTF-8、ISO-8859-1和CP-1252除了MS基本上虚构的32个字符序列(0x80-0x9f)外都是相同的。
如果您只使用Visual Studio或.NET工具编辑或处理文件,则带签名保存可能会正常工作。如果您需要保存供其他工具(批处理文件、SQL查询、PHP脚本等)使用的文件,则签名会导致问题,您应该将它们保存为没有签名的格式。如果这样做,您可能需要启用选项(在“工具”->“选项”->“文本编辑器”下)来“自动检测没有签名的UTF-8编码”,否则右键单击文件并选择“使用...”打开,并选择说“ editor with Encoding”的编辑器选项。
我认为它会将文件保存在当前代码页中。在“工具”->“选项”->“环境”->“文档”下有一个选项,当无法保存在当前代码页时,它会将其保存为Unicode编码。但我不知道这是否有帮助...
我认为你想尝试使用带BOM的ForceUtf8 / 不带BOM的ForceUtf8扩展。
只需在VS扩展库(工具 -> 扩展和更新)中搜索UTF8即可。
charset = utf-8
,请参见https://dev59.com/vW035IYBdhLWcg3wc_wm#51716830。 - Dave Anderson