首先说明本机情况:
vs中没用装关于编码的插件Format On Save/Force UTF-8 (No BOM)/Force UTF-8 (No BOM)等等
修改了windows系统的编码设置(如下:使用Unicode UTF-8提供全球语言支持)


这个设置之后,可以让qt创建的窗口中使用中文,例如按钮上的文字是中文
但是这样之后,vs的控制台打印的信息,例如qDebug和std::cout输出的信息中中文都是乱码

因为qt中是使用utf-8编码的
但是检查控制台发现,控制台是使用的gbk(936)编码的

注意:这里是vs控制台的编码,不是cmd控制台的,两个有区别
这个时候就需要修改注册表,修改它的编码为utf-8
[计算机\HKEY_CURRENT_USER\Console]
进入到上面的路径中

选择带有vs2019的一个

把CodePage中的值修改为65001(utf-8)
提示:这里我推荐把cmd控制台那个也修改为65001(utf-8)
以后说不定什么时候就用到了这个了
修改之后关掉regedit
回到vs2019
运行程序
如图所示:


控制台已经修改为utf-8(65001)了
注意:源文件最好也是65001(utf-8)[vs中的高级保存选项]
效果如下图:


提示:如果在vs中使用qt想要让控制台显示出来
方法如下:

vs中没用装关于编码的插件Format On Save/Force UTF-8 (No BOM)/Force UTF-8 (No BOM)等等
修改了windows系统的编码设置(如下:使用Unicode UTF-8提供全球语言支持)


这个设置之后,可以让qt创建的窗口中使用中文,例如按钮上的文字是中文
但是这样之后,vs的控制台打印的信息,例如qDebug和std::cout输出的信息中中文都是乱码

因为qt中是使用utf-8编码的
但是检查控制台发现,控制台是使用的gbk(936)编码的

注意:这里是vs控制台的编码,不是cmd控制台的,两个有区别
这个时候就需要修改注册表,修改它的编码为utf-8
[计算机\HKEY_CURRENT_USER\Console]
进入到上面的路径中

选择带有vs2019的一个

把CodePage中的值修改为65001(utf-8)
提示:这里我推荐把cmd控制台那个也修改为65001(utf-8)
以后说不定什么时候就用到了这个了
修改之后关掉regedit
回到vs2019
运行程序
如图所示:


控制台已经修改为utf-8(65001)了
注意:源文件最好也是65001(utf-8)[vs中的高级保存选项]
效果如下图:


提示:如果在vs中使用qt想要让控制台显示出来
方法如下:
