首页 > 代码库 > QT5中文乱码

QT5中文乱码

QTextCodec * BianMa = QTextCodec::codecForName ( "GBK" );
QMessageBox::information(this, "提示", BianMa->toUnicode("中文显示!"));

技术分享

其实也可以通过QString定义的静态函数,先转换成Unicode类型:

QString::fromLocal8Bit("提示")

不过在Qt5中,提供了一个专门的处理宏,来支持中文常量,那就是QStringLiteral,但它只能处理常量。
QMessageBox::information(this, QString::fromLocal8Bit("提示"), QStringLiteral("中文显示"));

技术分享

const char* info = "中文显示";//不支持
QString strInfo = QStringLiteral(info);//支持
QString strInfo = QString::fromLocal8Bit(info);
 

QT5中文乱码