Приложение qt не работает русский язык

168
07 января 2019, 20:30

пишу в qt creator, создал консольное приложение без qt, но русские буквы выводятся крокозябрами:

при этом setlocale не помогает, и крокозябры меняются на эти:

судя по всему это конфликт utf-8 и сp1251, но в консоли у меня по умолчанию 866dos и при изменении кодировки исходников ошибка сохраняется, при использовании chcp 65001 первая буква, если она русская заменяется всегда на квадратики, и мне не нравится лишняя надпись сверху: как сделать нормальное отображение русских букв? P.S qt 5.11.0, win7 32bit, компилятор minGW который по умолчанию с qt идет

Answer 1
#include <QCoreApplication>
#include <QDebug>
#include <QTextCodec>
#include <iostream>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QString string = "Привет, Мир!";
    // variant1
    std::cout << QTextCodec::codecForName("CP866")->fromUnicode(string).data() << std::endl;
    // variant2
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("CP866"));
    qDebug() << string;
    return a.exec();
}
READ ALSO
На чем написана 1С?

На чем написана 1С?

Зашел разговор про 1с и я услышал следующее мнение - что 1с написана на ЯП Русского разлива, те

161
Очистка Activity Android

Очистка Activity Android

У меня есть игра в которой есть несколько activity (Магазин, игровой процесс, меню, регистрация и тд

166
Смоделировать консольный ввод Enter

Смоделировать консольный ввод Enter

Есть класс TestThread который запускает класс Writer который печатает сообщения и останавливается по нажатию клавиши Enter в консолиВ классе TestMain...

204