После завтрака, продолжим терзать Qt. Красивые окошки и дизайн - это хорошо, но всё же, истина на дне консоли. Просмотрев коротенький урок по русификации консольного "Hello world", повторяя все шаги, ничего читабельного моя консоль не выдала (кто бы сомневался...). Иду в Интернеты и ищу братьев по несчастью, таких много, вроде и статья приличная есть.
Сделайте, мол, такое:
Чтобы не заморачиваться с русским текстом в консоли Qt, проще сделать следующее:
1) подключить clocale с помощью директивы include
2) юзать setlocale(LC_ALL, "Russian");
#include <QtGui/QApplication>
#include <QTextCodec> // подключение класса кодека текста
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));//изменения
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));//изменения
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); //изменения
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
А еще не забудьте:
Мне же помог только следующий способ:
#include <QTextStream>
#include <QTextCodec> // подключение класса кодека текста
int main()
{
QTextStream cout(stdout);
QTextCodec *coutCodec = QTextCodec::codecForName("IBM866");// тут могло быть "IBM-866", "UTF-8", "CP866"
cout.setCodec(coutCodec);
cout<<"Hello world!"<<endl;
cout<<QObject::tr("Привет мир!");
return 0;
}

Комментариев нет:
Отправить комментарий