#includeint main() { printf("洛克王国 —— 梦想勇不止步n"); return 0; }
执行这段代码后期待中文运行结果,但是显示了乱码
Windows 版本的Qt 中的默认编绎器为 mingw,默认的编码为 UTF-8,而 Windows中文的默认编码为GBK,显示编码不一致导致乱码
解决方法在QT项目的pro文件中加入下列代码,然后重新构建项目,再运行即可解决乱码问题
win32 {
QMAKE_CFLAGS += -finput-charset=UTF-8 # C语言输入文件编码
QMAKE_CFLAGS += -fexec-charset=GBK # C语言执行时编码
QMAKE_CXXFLAGS += -fexec-charset=UTF-8 # C++输入文件编码
QMAKE_CXXFLAGS += -fexec-charset=GBK # C++执行时编码
}
| 属性 | 解释 |
|---|---|
| QMAKE_CFLAGS | 在gcc命令后添加的编译参数 |
| QMAKE_CXXFLAGS | 在g++命令后添加的编译参数 |
| -finput-charset | 设置输入文件的编码 |
| -fexec-charset | 设置执行时的编码 |



