> 文档中心 > QT 解决中文乱码问题

QT 解决中文乱码问题

第一步:代码文件选择用utf8编码带bom。

工具——选项——文本编辑器——行为——文件编码

第二步:在有中文汉字的代码文件顶部加一行(一般是cpp文件) #pragma execution_character_set("utf-8") ;这行代码是为了告诉msvc编译器当前代码文件用utf8去编译。 

第三步:

main函数中加入设置编码的代码,以便兼容Qt4,如果没有Qt4的场景可以不用,从Qt5开始默认就是utf8编码。

#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))#if _MSC_VER    QTextCodec *codec = QTextCodec::codecForName("gbk");#else    QTextCodec *codec = QTextCodec::codecForName("utf-8");#endif    QTextCodec::setCodecForLocale(codec);    QTextCodec::setCodecForCStrings(codec);    QTextCodec::setCodecForTr(codec);#else    QTextCodec *codec = QTextCodec::codecForName("utf-8");    QTextCodec::setCodecForLocale(codec);#endif

补充:

#if 表达式         程序段1    #else    程序段2    #endif表示:如果表达式为真,则编译程序段1,否则编译程序段2.

以 #if 指令开始的条件指令必须用 #endif 指令显式终止。

大佬详细文章:彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)​​​​​​​

QT 解决中文乱码问题 2022深度学习开发者峰会 QT 解决中文乱码问题 5月20日13:00让我们相聚云端,共襄盛会!