16,814
社区成员




ui->ipt_name->setText("我是中国人");//正常
QString str1 = "我是中国人1";
ui->ipt_name->setText(str1);//正常
QString str2 = QStringLiteral("我是中国人2");
ui->ipt_name->setText(str2);//正常
QString str3 = QString::fromLocal8Bit("我是中国人3");
ui->ipt_name->setText(str3);//乱码8位
qDebug()<<"###"<<"我是中国人4";//正常
qDebug()<< QString::fromUtf8("我是中国人5");//正常
#include <QString>
#ifdef _MSC_VER
// MSVC (截止至VC2017, 2019没用过) 不管文件以什么编码存储,中文系统下都会转为GBK
#define _tr(x) QString::fromLocal8Bit(x)
#elif defined(__GNUC__) || defined(__MINGW32__)
//非 MSVC 编译器,代码文件要一般都会以 utf-8 编码存储,不是的话,就手动转换保存一下。
#define _tr(x) QString::fromUtf8(x)
// 编译器支持 C++11 的话
#define _trc(x) u8##x
#endif
QString str = _tr("123中文abc");