参考blog:
http://blog.csdn.net/libaineu2004/article/details/19245205
http://blog.csdn.net/brave_heart_lxl/article/details/7186631
http://blog.csdn.net/imxiangzi/article/details/50781459
写qt程序时,源码中有中文,程序编译不通过,如图:
我尝试过两种方法可行:
方法一(不能解决界面乱码)
用notepad++等工具将工程文件中除界面设计文件外的所有文件转码为ANSI编码,在main.c文件中加(我没加这些也能编译通过~~)
#include <QTextCodec>
QTextCodec *codec = QTextCodec::codecForName("GBK");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForCStrings(codec);//Qt5已经把前面这两个弃用了
QTextCodec::setCodecForLocale(codec);
如果还不行的话,点击qt creator侧边栏的项目->编译器->将文件编码的默认编码改为system。。。如下:
注:这种方法编译可以通过但是运行出来的界面上有乱码:
方法二:(可以解决界面乱码)
用notepad++等工具将工程文件中所有文件编码改为utf8有BOM(utf8),在使用到中文的文件首部加
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
如果不行的话,改编译器中的文件编码为utf8。