中文讨论Windows环境下Qt Creator控制台输出中文乱码的解决办法。
1. 开发环境
中文Windows 10 64bit, Qt Creator 4.11.0, mingw 7.3.0 64 bit
版权声明
本文可以在互联网上自由转载,但必须:注明出处(作者:海洋饼干叔叔)并包含指向本页面的链接。
本文不可以以纸质出版为目的进行改编、摘抄。
2. 故障现象
Plain C/C++ Application在控制台输出中文时出现乱码。
程序如下:
1 | //Project - EarthTime |
其执行结果包含乱码:
3. 解决方案images
选择工具->选项菜单
在文本编辑器-显示中勾选 Display file encoding
右上角填UTF-8,弹出的对话框中选择System,选“按编码保存”。
保存之后,右上角显示的当前编码变为System.
再次编译执行,问题解决。
4. 后记
问题事实上没有完全解决,下次再打开项目时,Qt Creator会以UTF-8读入事实上由System编码的文件,连源代码都会出现乱码。此时,可以通过按System编码读入来解决。
请读者不必纠正,大多数的应用开发,都是图形界面,控制台应用极少,控制台里还要使用中文的应用就更少了。
通过当整体开发环境的文件编码设置为System,或可解决问题。但作者不推荐这么做, 因为事实上,UTF-8是更通用的编码,它允许在同一个应用程序里同时显示多国文字。
本文内容节选自作者编著的《Python编程基础及应用》(高等教育出版社)一书。
免费随书B站MOOC: