Russian Qt Forum

Qt => Общие вопросы => Тема начата: Vamireh от Март 18, 2013, 14:18



Название: Windows XP, UTF-8, не все символы отображаются
Отправлено: Vamireh от Март 18, 2013, 14:18
Собственно, буду краток:
Код:
#include <QApplication>
#include <QLabel>
#include <QTextCodec>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
   
    QLabel label(QObject::tr("∆ϴzx"));
    label.show();
   
    return a.exec();
}

Как сделать, что бы в Windows XP отобразилось именно это, а не "∆ %квадратик% zx", в Windows 7 все корректно.


Название: Re: Windows XP, UTF-8, не все символы отображаются
Отправлено: Old от Март 18, 2013, 15:20
Как сделать, что бы в Windows XP отобразилось именно это, а не "∆ %квадратик% zx", в Windows 7 все корректно.
Поменять системный фонт, на тот, где такой символ определен.


Название: Re: Windows XP, UTF-8, не все символы отображаются
Отправлено: Vamireh от Март 18, 2013, 15:49
Я так же думал, попробовал несколько стандартных шрифтов - везде такая фигня. Позже оказалось, что Microsoft Sans Serif эти символы все таки показывает. Но это половина проблема, мне нужен моноширинный шрифт. И такие не найдены в системе. Придется, по ходу программу со своими шрифтами распространять.