I want to add an Arabic title to my Qt application, but it didn't work. Here is my code:
#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();
}
And here is the output:
How can I correct it?
That looks like a typical "UTF-8 interpreted as ISO-8859-1" encoding issue.In fact it's a "CP1256 interpreted as Latin1" issue.On Windows, with a non-Unicode codepage, try the following:
If you had your source file in UTF-8, try this instead:
(See
codecForLocale()
for what that's supposed to do.)Qt Creator 2.7/Windows 7 (in a VM)/UTF-8 source file:
Try this instead. That way the string literal itself will be Unicode for sure: