VS2017修改编码格式为utf-8,再也不用担心乱码了

不知为何,vs2017默认采用GB2312编码格式,其创建的项目文件(.cpp, .h等)都采用GB2312编码,可能会给代码的移植性带来一点阻碍(主要是中文乱码),笔者就经常用vs运行github等的项目然后出现如下警告或者乱码:

warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

在此,建议统一使用UTF-8(无bom)编码格式,那么具体要怎么修改呢?请看下文。

  • 使用vs2017的“高级保存选项”
    由于这个选项在vs2017中是默认隐藏的,需要手动调出来。具体操作方法如下:
    1、单击“工具”➡“自定义”,弹出“自定义”对话框
    2、单击“命令”标签➡进入“命令”选项卡
    3、“菜单栏”下拉列表➡选择“文件”选项。
    4、单击“添加命令”➡弹出“添加命令”对话框
    5、在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”选项。
    6、单击“确定”按钮,关闭“添加命令”对话框
    7、选中“控件”列表中的“高级保存选项”选项,单击“上移”或者“下移”按钮,可以调整该命令的位置。
    8、单击“关闭”按钮,完成“高级保存选项”命令的添加操作

    然后选中高级保存选项,弹出的对话框可以选择编码utf-8
    高级保存
    编码

  • 使用ForceUTF8插件
    工具➡拓展和更新➡联机➡搜索框输入“ForceUTF8”➡下载安装
    安装此插件后,所有文件均会以utf-8编码格式保存,方便省心。
    在这里插入图片描述


最后非常重要的一步,那就是指定使用utf-8编译!
选中当前项目——右键属性——配置属性——C/C++——命令行——输入/utf-8
只有完成这一步,warning信息才会真正消失。
在这里插入图片描述

然而,改完后我又发现了一个新问题,那就是vs2017的控制台也是默认使用GB2313编码的,所以控制台又乱码了→_→(我太难了)…
ps:查看控制台所用编码的方法:点击控制台标题栏左上角–>属性–>选项–>找到当前代码页能看到编码格式。
所以又需要更改vs2017控制台的编码格式为utf-8,方法如下:

1.按下win(windows键)+R,输入regedit然后回车进入到注册表编辑器
在这里插入图片描述
2.找到 计算机\HKEY_CURRENT_USER\Console

在这里插入图片描述
3.寻找有vs、console等字符串的相关项
在这里插入图片描述
在我这里是第三项 C:_Program Files (x86)_Microsoft Visual Studio_2017_Professional_Common7_IDE_CommonExtensions_Platform_Debugger_VsDebugConsole.exe,不同电脑这里显示的名称可能不一样,不过没关系,只要是vs的控制台就行。
4.修改CodePage
在这里插入图片描述
选中右边栏CodePage,右键将其值936(该值对应GB2312)修改其值为65001(该值对应的就是utf-8编码),上图我已经更改过了。
修改完后,用vs编译运行C++就不会出现控制台乱码了。

ps:以上方法也同样适合更改windows系统控制台的编码格式。


以上就是本文的全部内容了,如果有帮助的话,不妨点个赞吖~

原创文章 7 获赞 7 访问量 341

猜你喜欢

转载自blog.csdn.net/Love_Point/article/details/105658241