Вывести QString на консоль при помощи QDebug

Всем привет, не могу разобраться с таким вопросом: У меня есть строка QString с кириллицей. Мне необходимо вывести это строку на консоль, но из за неправильной кодировки получается набор непонятных символов.

QString text = "Русский текст";
qDebug() << text; //результат "??????? ?????"

Я пытался преобразовать строку в UTF - 16, Таким вод кодом:

QString new_text = QString::fromUtf16(text);  //в этой строке выдает ошибку
qDebug() << new_text;

Подскажите. как можно преобразовать строку с кириллицей, чтобы она корректно выводилась в qDebug.

Важное замечание, строки программа получает извне, поэтому в коде их задать нельзя, нужно преобразовать именно переменную типа QString.

QT 6.1.3, VS 2019

UPD Попробовал преобразовать не в UTF - 16, а в UTF - 8, но также выдает ошибку

    QString text = "Русский текст";
    QString new_text = QString::toUtf8(text);  //тут выдает ошибку
    qDebug() << new_text;

Ответы (2 шт):

Автор решения: Roman Ozhegov

Попробуйте правильно установить локаль:

#include <QCoreApplication>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    qDebug()<<"тест1"; // <- выводится ерунда
    setlocale(LC_ALL, "");
    qDebug()<<"тест2"; // <- а теперь корректный вывод

    return a.exec();
}
→ Ссылка
Автор решения: Rafael

Мне помогло это

system("chcp 65001");
→ Ссылка