Винда?
Риторическй вопрос? "C:\...", "cp1251" - какие ещё могут быть варианты?
Насколько я помню у виндов до мих пор в консолях досовская кодировка.
Да, CP866. Но интересует не она, а консоль приложения в самом Qt Creator'е.
P.S. Не латинница в исходниках (а уж тем более в дебаг выводе) - моветон.
Ситуация такая: cистема пишет лог в файл. Лог должен быть на русском.
Для отладки удобно, что бы теже самые сообщения выдавались ещё и в консоль.
Нечто вроде:
void log( const QString& msg )
{
... // вывод в файл
#ifdef QT_DEBUG
qDebug( msg.toAscii().data() );
#endif
}
Никакими комбинациями QTextCodec::setCodecForCStrings, QTextCodec::setCodecForLocale, QString::toAscii(), QString::toLocal8Bit(), QString::toUtf8(), QString::utf16(), которые я успел проверить, GDB не удалось заставить выводить кириллицу. Без него всё выводится отлично.
P.S. Почтовый декодер подсказывает, что если без GDB всё нормально, то с ним кодировка перепутана следующим образом: CP1252 → CP1251. Но как это исправить (если возможно) я не понимаю.