Qt技巧:中文显示乱码问题解决

版权声明:欢迎转载和收藏。转载请注明出处,谢谢! https://blog.csdn.net/u014266675/article/details/73605574

本人使用的Qt版本为5.8.0,以下说明适用于Qt 5.4及以上版本。

1、使用国际化,tr("中文"),也是无法显示,就算添加下面的代码,也还是无法显示。不管name是GBK、GB2132、UTF-8,均已证实无效。

QTextCodec::setCodecForLocale(QTextCodec::codecForName("gbk"));

2、在main()中添加

#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
已测试无效。

3、在main()中添加(参考

    #if QT_VERSION < QT_VERSION_CHECK(5,0,0)
    #if defined(_MSC_VER) && (_MSC_VER < 1600)
        QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030-0"));
    #else
        QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    #endif
    #endif
已测试无效。

解决办法:

QString::fromLocal8Bit("中文");
已证实有效。
QString filename = QFileDialog::getOpenFileName(this,QString::fromLocal8Bit("打开文件"),"C:/");



猜你喜欢

转载自blog.csdn.net/u014266675/article/details/73605574