воскресенье, 22 сентября 2013 г.
qDebug() и кодировка Windows 1251
Опубликовано в ЖЖ в феврале 2010, актуально для Qt4.
Оригинал
Хороший макрос. Однако его полезность весьма и весьма сомнительна в случае, когда нужно выводить на консоль национальные - в частности, русские - символы. Конечно, тут же набегает кучка полудурков-советчиков, предлагающих всяческие извращения в виде транслита, логов, GUI, многократных перекодировок..
Ответ я нашёл здесь.
QTextStream out(stdout);
out.setCodec(QTextCodec::codecForName("IBM 866"));
out << line;
Коротко и красиво. Понятно, что использование "IBM 866" предназначено для винды. Но лучше наросать пару макросов для проекта, подставляющих локально нужную кодовую страницу в целевой системе, чем прыгать с остальными бубнами.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий