QT 解决中文乱码问题
工具——选项——文本编辑器——行为——文件编码
第二步:在有中文汉字的代码文件顶部加一行(一般是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)
2022深度学习开发者峰会 5月20日13:00让我们相聚云端,共襄盛会!