none
vs如何设置cpp文件默认保存为utf8有bom格式的(UTF-8带签名) RRS feed

  • 问题

  •         中文版windows下的vs的编辑器默认是gbk编码中,如果源码中带有中文(比如打印中文字符),在centos下编译会出现中文无法显示的问题(并不会出现乱码)。如果将源码保存为utf8无bom格式的centos是可以支持,但是在windows下的vs编译会出现error C2001:常量中有换行符。最后把源码改为保存为utf8有bom格式的,windows和linux都支持。因此带中文的cpp源码最好保存为utf8有bom格式的。


         那么问题来了,vs如何设置cpp文件默认保存为utf8有bom格式的(UTF-8带签名)。网上的做法都是针对指定文件在高级保存选项里设置,如下图:

        这个不是我要达到的效果。因为如果文件太多的话一一设置太麻烦了。我想能否新建一个源码文件后默认保存的就是utf8有bom格式的。


    前无古人,后无来者

    2019年12月14日 7:38

全部回复

  • 你好,

    感谢你在MSDN论坛发帖。

    >>vs如何设置cpp文件默认保存为utf8有bom格式的(UTF-8带签名)

    有两种方法,

    1.修改VS的新建文件的模板。以我的为例,位置为C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\VC\vcprojectitems

    在hfile.h, newc++file.cpp 在文件中加入代码

    #pragma execution_character_set("utf-8")

    2.另外不知道这个VS工具能否帮助到你,注意此工具为三方开发者开发,微软并不会对此工具的质量和安全负责。

    https://marketplace.visualstudio.com/items?itemName=jz5.ForceUTF8withBOM-18593

    Best Regards,

    Suarez Zhou


    如果您对Visual Studio 或Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。


    2019年12月16日 6:05