qt createtor 中文乱码

Posted qianbo_insist

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt createtor 中文乱码相关的知识,希望对你有一定的参考价值。

qt 中文问题

1 把qt中的源代码修改称为UTF-8 +BOM ,注意加上BOM
2 使用QStringLiteral
3 使用codec->toUnicode

code

void MainWindow::on_pushButton_clicked()
{
    qDebug("this is a test");
    QTextCodec *codec = QTextCodec::codecForName("GB2312");
    QMessageBox::information(this, codec->toUnicode("我的标题"), codec->toUnicode("这里是提示信息"));
    QMessageBox::information(this, QStringLiteral("我的标题"), QStringLiteral("这里是提示信息123"));
}

使用u8

使用u8是最简单的

    QTextCodec *codec = QTextCodec::codecForName("GB2312");//修改这两行
    QMessageBox::information(this, "我的标题u8", "这里是提示信息u8");
    QMessageBox::information(this, u8"我的标题u8", u8"这里是提示信息u8");
    QMessageBox::information(this, codec->toUnicode("我的标题"), codec->toUnicode("这里是提示信息"));
    QMessageBox::information(this, QStringLiteral("我的标题"), QStringLiteral("这里是提示信息123"));


上图是不加u8 QMessageBox::information(this, “我的标题u8”, “这里是提示信息u8”); 弹出的信息,乱码

上图 是加上u8,显示正常。

以上是关于qt createtor 中文乱码的主要内容,如果未能解决你的问题,请参考以下文章

qt中文乱码

QT5常见问题二:程序显示中文乱码以及Linguist打开翻译文件乱码,该如何解决?

QT+VS后的中文乱码问题

QT命令行编译时中文显示乱码怎么解决,满意追加

解决Qt5和VS2015中文乱码的问题

QT 实用代码片段