欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Qt中文乱码几种解决方法

程序员文章站 2022-03-07 19:38:01
第一种:使用QStringLiteral("中文")进行修饰,这种方式每个中文字符串都要用QStringLiteral来修饰第二种(VS底下):在头文件申明中加上 #pragma execution_character_set("utf-8")第三种:main函数#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))#if _MSC_VERQTextCodec* codec = QTextCodec::codecForName.....

第一种:

使用QStringLiteral("中文")进行修饰,这种方式每个中文字符串都要用QStringLiteral来修饰

 

第二种(VS底下):

在头文件申明中加上 #pragma execution_character_set("utf-8")

 

第三种:

main函数

#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

 

第四种:

textEdit等控件显示网络消息中文乱码

QTextCodec* codec = QTextCodec::codecForName("GBK");

m_pUdpSocket->readDatagram(data.data(), data.size(),&hostAddr);

QString strData = codec->toUnicode(data.data());

本文地址:https://blog.csdn.net/weixin_39385413/article/details/107246278