我想在我的Qt应用程序中添加一个阿拉伯语标题,但是没有用。
这是我的代码:

#include "mainwindow.h"
#include <QtGui/QApplication>
#include <QString>
#include <QTextStream>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    mainWindow w;
    QString appTitle("تجربه");
    w.setWindowTitle(appTitle);
    w.show();
    return a.exec();
}


这是输出:



我该如何纠正?

最佳答案

看起来像是典型的“ UTF-8解释为ISO-8859-1”编码问题。实际上,这是一个“ CP1256解释为Latin1”问题。

在Windows上,使用非Unicode代码页,请尝试以下操作:

QString appTitle = QString::fromLocal8Bit("تجربه");


如果您的源文件使用UTF-8,请尝试以下操作:

QString appTitle = QString::fromUtf8("تجربه");


(有关应执行的操作,请参见codecForLocale()。)

Qt Creator 2.7 / Windows 7(在VM中)/ UTF-8源文件:

关于c++ - Qt中带有QString的阿拉伯语,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16436278/

10-15 00:31