Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
11 / 11 / 2
Регистрация: 13.07.2014
Сообщений: 420

Русский шрифт в консоли

18.11.2014, 14:13. Показов 6278. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уточню, что тема о проекте вКреаторе - "Консольный проект без использования QT", там не получается инклюдить QT классы (что обычно предлагается при решение проблемы). И кракозяры в консоли.
Миниатюры
Русский шрифт в консоли  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.11.2014, 14:13
Ответы с готовыми решениями:

Русский язык в консоли
Подскажите пожалуйста как заставить консоль писать кириллицей. QtCreator minGW 5.7.0 windows 10 если писать вот так: ...

Русский текст в консоли ( решение для Qt под Windows )
Хотите русский текст в консоли используя возможности чистого C или C++ но setlocale( ) не помогает? Вы выставляете кодировку в настройках...

Русский шрифт в консоли
Как подключить русский шрифт в консоли?

5
 Аватар для Pingvinoff
63 / 63 / 15
Регистрация: 20.08.2014
Сообщений: 593
18.11.2014, 19:19
А если попробовать какой-нить setlocale(0,"rus")?
1
11 / 11 / 2
Регистрация: 13.07.2014
Сообщений: 420
18.11.2014, 19:24  [ТС]
Увы, не работает. Конечно это не фатально... так как я могу консольные вещи делать в CodeBlock.
Но если вдруг нашёлся бы вариант было бы здорово.
0
28 / 5 / 1
Регистрация: 18.11.2014
Сообщений: 68
19.11.2014, 01:38
А консоль действительно в болгарской кодировке? Я так думаю, нужно уточнить кодировку консоли, более-менее современные давно все на уникоде, и покопаться в настройках редактора, там тоже должен быть способ указать кодировку текста. Или как-то проверить, в какой кодировке сохраняется исходник. Я думаю, если кодировка исходника не совпадает с кодировкой терминала, без чего-нибудь вроде iconv здесь не обойтись.
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
19.11.2014, 03:52
Qt Creator к мусору в консоли не имеет никакого отношение. Кодировка задается в коде программы.
В виндовой консоли кодировка обычно IBM 866
1
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
19.11.2014, 11:47
Лучший ответ Сообщение было отмечено Masai как решение

Решение

Цитата Сообщение от Masai Посмотреть сообщение
И кракозяры в консоли.
Что попросил, то тебе и вывело. Ты вывел в консоль набор байт, представляющих из себя utf-8 строку. А консоль восприняла их как набор байт в кодировке CP866.

Следующий момент. Не используй русский текст в коде программы! Это ведёт к не предсказуемому поведению, из-за разной интерпретации компиляторами. Пресловутый MS VC может спокойно перевести UTF-8 сроку в CP1251. А судя по выхлопу программы, у тебя gcc. В Qt для этого есть механизм переводов.

Совсем не понимаю, зачем тебе Qt Creator как IDE, либо воспользуйся Code::Blocks, либо пиши Qt приложение.

там не получается инклюдить QT классы
Всё получается. Только логику смени. Надо понимать, что Qt ориентирован на работу с объектами, которыми управляет QCoreApplication.

Т.е. нужно создать объект, в нём реализовать нужные тебе методы, и подключить его через сигналы/слоты к приложению.

Ниже пример, с использованием объекта и файлом перевода.

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
QT       += core
 
QT       -= gui
 
TARGET = abc
CONFIG   += console
CONFIG   -= app_bundle
 
TEMPLATE = app
 
TRANSLATIONS += translate_ru.ts
 
SOURCES += main.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <QtCore>
#include <QTranslator>
#include <QString>
#include <QTextStream>
 
class Task : public QObject
{
    Q_OBJECT
public:
    Task(QObject *parent = 0) : QObject(parent) {}
 
public slots:
    void run()
    {
        QTextStream qout(stdout);
        QTextStream qin(stdin);
 
        qout.setCodec("CP866");
        qin.setCodec("CP866");
 
        qout << tr("Input name: ") ;
        qout.flush();
 
        QString name = qin.readLine();
        qout << tr("Hello ") << name << "\n";
 
        emit finished();
    }
 
signals:
    void finished();
};
 
#include "main.moc"
 
int main(int argc, char *argv[])
{
    QCoreApplication* app = new QCoreApplication(argc, argv);
 
    QTranslator* translator = new QTranslator(app);
    translator->load("translate_" + QLocale::system().name());
    app->installTranslator(translator);
 
    Task *task = new Task(app);
 
    QObject::connect(task, SIGNAL(finished()), app, SLOT(quit()));
 
    QTimer::singleShot(0, task, SLOT(run()));
 
    return app->exec();
}
Миниатюры
Русский шрифт в консоли  
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2014, 11:47
Помогаю со студенческими работами здесь

Русский шрифт в консоли
setlocale не помогает, перетащил проект с домашнего компа(делал в vs8) на ноут, но на ноуте только билдер, покопался, подключил и переписал...

и опять русский шрифт в консоли
создал файл russian.h запихал в него следующее #include &lt;iostream&gt; #include &lt;windows.h&gt; char* Rus(const char* text); char...

Кроссплатформенный русский шрифт консоли
Вы скажите, что такая тема и вы будите правы... Но у меня дело со всем в другом. Я делаю шрифт в консоле русским, и компилирую свою...

Русский шрифт в консоли setlocale( LC_ALL,"Russian" ) не работает
Не работает setlocale( LC_ALL,&quot;Russian&quot; ) и класс String а так же не работает SetConsoleOutputCP Есть более умный способ кроме этого? ...

Как в консоли автоматически выбрать шрифт Lucida Console, а не точечный шрифт?
Например №36 (размер шрифта 22х36).


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru