qt msvc17 中文乱码

参考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。

猜你喜欢

转载自blog.csdn.net/linda_ds/article/details/79072227
今日推荐