问题描述:Qtcreator安装好后打印中文在控制台输出乱码(自己也在网上查找了好久,终于找到解决方法了)。
原因剖析:因为项目的编码与控制台的编码不一致导致的,而qt编码设置里并没有控制台的默认编码(936 ANSI)
右击当前项目运行产生的控制台窗口,选择属性,可以查看到控制台的默认编码是(936 ANSI)
解决方案:从注册表中修改控制台的默认编码值
第一步:按windows+R键输入regedit打开注册表
第二步:
在注册表中的HKEY_CURRENT_USER路径下找到Console(注:Console即控制台)
在控制台的路径下就可以找到你的Qtcreator运行的控制台,我是在C盘安装的,所以是这样的,其实这个路径就是你在Qt中运行后生成的终端的路径地址C:_Qt_Qt5.8.0_Tools_QtCreator_bin_qtcreator_process_stub.exe
如果你发现自己的Console下只有两个%System开头的,并没有Qtcreator生成的控制台,不要着急,可以根据下面的方法解决这个问题的^v^!
右击我们Qt中运行后生成的控制窗口,右击属性在弹出的窗口中的选项中,勾选使用旧版本控制台
这样重新打开注册表就可以在HKEY_CURRENT_USER\Console下找到我们的Qt的Console了。
第三步:在右边找到CodePage,右击选择修改,将数值改为十进制的65001
第四步:返回Qtcreator,工具->选项->文本编辑器->行为,将文字编码按下图设置修改为UTF-8
第五步:按照上述步骤修改后,重新运行代码就可以正常显示了。
也可能是这样的,你会发现,咦,我的中文显示还是怪怪的,Don't worry!
这只是因为你在旧版本控制台模式下,只需右击选择属性将之前勾过的旧版本控制台去掉即可。
然后在Qt中重新运行就可以正常显示中文啦,希望有帮到遇到同样问题的你哦^v^ !