使用VisualStudio中文版时,默认的编码环境和运行环境都是GB2312编码,用起来很难受,特别是读取utf8编码文件中的中文字符,或者开发跨平台项目时,需要花大量的精力处理字符编码,这个时候,你是不是想要一个utf8编码环境,但是竟然找不到设置的地方,f***!需要以下步骤设置utf8环境
编译环境
需要改变编译环境和运行环境的编码,网上有很多人说要修改很多地方,其实只要在命令行中添加/utf-8即可:
添加命令
文件编码
编译环境已经准备好了,但是代码文件的编码依旧是GB2312的,需要也把代码文件也改为utf8,两种方式可以修改:
1. 单个文件修改
VisualStudio自带了修改文件编码的工具,点击 :文件->高级保存选项->Unicode(UTF-8带签名)
高级保存选项
修改编码
有的小伙伴说,我的怎么找不到
高级保存选项
,其实高级保存选项
默认是不显示的,需要自己手动添加。大致的步骤是这样的:1.1
工具->自定义->命令
,菜单栏
选择文件
工具->自定义->命令
1.2 点击
添加命令
, 左侧选择文件
,右侧选择高级保存选项
,确定添加高级保存选项
1.3 可以选择
上移
,或者下移
,调整到自己喜欢的位置(可选)
2. 默认修改
VisualStudio的在线扩展库中,提供了一个插件,可强制把新建或者新保存的代码文件保存为utf8格式。
工具->扩展和更新->联机->输入搜索“utf-8”
,找到ForceUTF8(with BOM),下载即可
搜索
调试编码
做完以上步骤,你就可以编码和调试了,但是在调试过程中,你会发现两个问题:
- 在Console的日志输出竟然是乱码,这个就跟Console的显示的编码有关,默认是GB2312,怎么设置呢?网上各种教程,很是复杂!其实很简单,在你main函数的第一行,加入以下代码:
#include <Windows.h>
int main(int argc, char *argv[])
{
SetConsoleOutputCP(65001);
}
然后你就会发现一切正常了!
- 在调试过程中,还有另外一个问题,就是中文字符竟然不能实时查看,都是乱码,网上一搜大家的说法都是一致的,在监视窗口中,把想看的字符变量加入进去,同时在后边添加
,s8
,s8
但这依旧很蛮烦,怎么办呢,需要手动修改配置文件stl.natvis
,目录为:C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\Packages\Debugger\Visualizers\stl.natvis
,我的是Visual Studio2017,打开文件后,找到741-744行,把每行最后边的,na
修改为,s8
stl.nvtivs
警告:修改之前请做好备份!
VS2019的修改方式参考这个:https://www.codetd.com/en/article/9047599
做完以上步骤,就可以完美运行utf8,给个点赞吧!
(禁止转载!)