Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
0 / 0 / 0
Регистрация: 07.01.2025
Сообщений: 9

Как вывести кириллицу в консоль QT Creator?

02.09.2025, 23:53. Показов 1683. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброй ночи.

Не могу заставить выводить в консоль QT Creator-а (3 Application Output) обычный текст на кириллице, содержащийся в строке std::string. Выводится что-то типа "Здравствуй, РјРёСЂ!", а не нужный текст.

Пробовал много всяких вариантов из Интернетов, - результат один: нечитаемый текст.

Это у меня одного так, или кто-то решил данную проблему?

Тестовая программа самая простая:

C++ (Qt)
1
2
3
4
5
6
7
8
#include <iostream>
#include <string>
 
int main() {
    std::string rus = "Здравствуй, мир!";
    std::cout << rus << '\n';
    return 0;
}
Файл конфига *.pro:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
QT = core
 
CONFIG += c++23 cmdline
 
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
 
SOURCES += \
        main.cpp
 
QMAKE_CXXFLAGS += -std=c++23
 
QMAKE_LFLAGS += -lstdc++exp -static
 
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

Вот доп. инфа:
1. ОС - Wndows 10 64bit.
2. QT Creator 17.0.0.
3. GCC из поставки MinGW v15.2.0.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.09.2025, 23:53
Ответы с готовыми решениями:

Не работает консоль QT Creator в Windows 10
создаю любой консольный проект, к примеру стандартный хеллоу ворд, и когда компилируется - вылазит...

Qt creator как запустить консольное приложение
скачал IDE Qt creator. сделал проект с таким файлом main.cpp, собрал проект, запускаю и мне...

Qt Creator - Консольное приложение
В Creator'е написал консольное приложение, при запуске требует библиотеки Qt, хотя в коде я...

25
Заблокирован
03.09.2025, 01:49
Ну это же классика жанра.
И QT тут ни при чем.
0
 Аватар для andrey_f
882 / 535 / 228
Регистрация: 21.02.2011
Сообщений: 5,706
03.09.2025, 13:29
Цитата Сообщение от SmallEvil Посмотреть сообщение
Ну это же классика жанра.
понапокупают себе Windows и потом вопросы задают
P.S.
Цитата Сообщение от iak Посмотреть сообщение
Вот доп. инфа:
1. ОС - Wndows 10 64bit.
В Windows консоль по умолчанию не настроена на отображение UTF-8.
Цитата Сообщение от iak Посмотреть сообщение
std::cout
Работает с кодировками, соответствующими системной локали.
0
03.09.2025, 13:45

Не по теме:

Цитата Сообщение от andrey_f Посмотреть сообщение
понапокупают
ахахахахахахах :))))))

0
03.09.2025, 14:12

Не по теме:

Цитата Сообщение от andrey_f Посмотреть сообщение
понапокупают себе Windows и потом вопросы задают
Уже настолько избитая тема, что даже никто и не пытается ответить.

А вообще, я пытался в QT консольном приложении настроить консоль в utf16(через _setmode()).
И у меня даже получилось. Но выводится дополнительная ересь.
Что ещё раз подтверждает, что нефиг страдать хренью в консоли. XD

С utf8 с помощь system(chcp 65001) костылем норм. Даже можно с QString работать.
C++ (Qt)
1
2
3
4
    system("chcp 65001");
    QCoreApplication a(argc, argv);
    QTextStream out(stdout);
    out << QString("Привет Мир!") << Qt::endl;

0
 Аватар для andrey_f
882 / 535 / 228
Регистрация: 21.02.2011
Сообщений: 5,706
03.09.2025, 14:24
Цитата Сообщение от iak Посмотреть сообщение
Как вывести кириллицу в консоль QT Creator?
вот так попробуйте
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <string>
#include <locale>
 
int main() {
    // Устанавливаем русскую локаль
    std::locale::global(std::locale("ru_RU.UTF-8"));
    std::wcout.imbue(std::locale());
 
    std::wcout << L"Здравствуй, мир!" << L'\n';
    return 0;
}
0
Заблокирован
03.09.2025, 14:49
Цитата Сообщение от andrey_f Посмотреть сообщение
вот так попробуйте
Негросети пошли в ход
terminate called after throwing an instance of 'std::runtime_error'
what(): locale::facet::_S_create_c_locale name not valid
0
 Аватар для andrey_f
882 / 535 / 228
Регистрация: 21.02.2011
Сообщений: 5,706
03.09.2025, 14:56
Цитата Сообщение от SmallEvil Посмотреть сообщение
Негросети пошли в ход
ну нет, если запускать, например, тут, то такие ошибки и полезут (скорее всего данная локаль там отсутствует), так как там не Windows.
0
Заблокирован
03.09.2025, 15:00
Цитата Сообщение от andrey_f Посмотреть сообщение
ну нет, если запускать, например,
Я компилировал на своей машине Win10 (winlibs-x86_64-posix-seh-gcc-14.1.0-mingw-w64msvcrt-11.0.1-r1)
Думаешь я просто так наезжаею?
Я знаю о чем говорю.
0
0 / 0 / 0
Регистрация: 07.01.2025
Сообщений: 9
03.09.2025, 15:08  [ТС]
Коллеги (можно вас так называть, хотя я начинаю только изучать C++, не для работы, для себя ),

хотя это явно и не прозвучало, но посыл такой, что вывести кириллицу объекта std::string в косноль QT Creator-а (не в консоль cmd.exe) — нельзя. Я прав или додумал за вас ответ?

Как вывести широкую строку я знаю, нагуглил ответ, но мне надо именно обычную C++-строку.

И спасибо всем, кто ответил.
0
 Аватар для andrey_f
882 / 535 / 228
Регистрация: 21.02.2011
Сообщений: 5,706
03.09.2025, 15:10
у меня данной код отрабатывает, я бы не стал постить неработающий код.
0
Заблокирован
03.09.2025, 15:24
Цитата Сообщение от andrey_f Посмотреть сообщение
у меня данной код отрабатывает
Это где?
ОС, компилятор?

Добавлено через 3 минуты
Цитата Сообщение от iak Посмотреть сообщение
Как вывести широкую строку я знаю, нагуглил ответ, но мне надо именно обычную C++-строку.
В QT Creator по умолчанию исходник листинга(тексты программ) в кодировке UTF-8.
Если такой литерал(utf8) загнать в std::string - это уже не обычная строка.

Цитата Сообщение от iak Посмотреть сообщение
хотя это явно и не прозвучало, но посыл такой, что вывести кириллицу объекта std::string в косноль QT Creator-а (не в консоль cmd.exe) — нельзя. Я прав или додумал за вас ответ?
Не понял вопроса.
Всюду можно вывести кириллицу. Приложив определенные усилия.
Нужно лишь определиться что и куда.

Добавлено через 2 минуты
Цитата Сообщение от SmallEvil Посмотреть сообщение
Нужно лишь определиться что и куда.
И главное, ЗАЧЕМ)
0
0 / 0 / 0
Регистрация: 07.01.2025
Сообщений: 9
03.09.2025, 15:32  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
Не понял вопроса.
Всюду можно вывести кириллицу. Приложив определенные усилия.
Нужно лишь определиться что и куда.
В первом сообщении есть простой пример кода, который срабатывает не так, как надо.
Можете его подкорректировать так, чтобы он всё-таки выводил текст кириллицой, не меняя тип строки?
В Eclipse данный пример кода работает, как говорится, из коробки.
0
Заблокирован
03.09.2025, 15:52
Цитата Сообщение от iak Посмотреть сообщение
В Eclispe данный пример кода работает, как говорится, из коробки.
Это только из-за особенности консоли(личной) Eclipse.
Сейчас попробую.

Добавлено через 15 минут
Кроме system(chcp 65001) пока ничего не нашел.
Нет никаких настроек для встроенного терминала QT Creator.

Добавлено через 3 минуты
Видать и нет никакого встроенного терминала, просто ввод/вывод перенаправляет в своё окошко.
0
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
03.09.2025, 15:55
iak, а чем qDebug()<< QString::fromUtf8(rus) ; не устраивает?
0
0 / 0 / 0
Регистрация: 07.01.2025
Сообщений: 9
03.09.2025, 16:01  [ТС]
Цитата Сообщение от sdf45 Посмотреть сообщение
iak, а чем qDebug()<< QString::fromUtf8(rus) ; не устраивает?
Своей непривычностью? Хочется простоты, С++ и так не самый лёгкий в изучении...
Просто была мысль использовать QT Creator не для QT-проектов, поэтому сейчас присматриваюсь к нему именно с этой позиции.
0
Заблокирован
03.09.2025, 16:06
Цитата Сообщение от iak Посмотреть сообщение
Просто была мысль использовать QT Creator не для QT-проектов, поэтому сейчас присматриваюсь к нему именно с этой позиции.
это самая плохая идея

Добавлено через 3 минуты
Цитата Сообщение от iak Посмотреть сообщение
В первом сообщении есть простой пример кода, который срабатывает не так, как надо.
В любом случае, практического смысла все строки держать в программе в utf8 возникает очень редко.
Никакая ОС или фреймворк внутри не использует UTF8 строки.
То есть, это уже большая ошибка.
Такая программа, скорее очень редкое исключение.
0
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
03.09.2025, 16:32
Цитата Сообщение от iak Посмотреть сообщение
В Eclipse данный пример кода работает, как говорится, из коробки.
зачем тогда
Цитата Сообщение от iak Посмотреть сообщение
использовать QT Creator не для QT-проектов
вообще кто как хочет-так и дро*ит, но я согласен что
Цитата Сообщение от SmallEvil Посмотреть сообщение
плохая идея
если есть лайтовый vscode, онлайн компиляторы...

Добавлено через 20 минут
Цитата Сообщение от iak Посмотреть сообщение
Хочется простоты
ты проклянешь с++ когда захочешь написать что-то сложнее а=б+с
0
0 / 0 / 0
Регистрация: 07.01.2025
Сообщений: 9
03.09.2025, 16:32  [ТС]
Цитата Сообщение от sdf45 Посмотреть сообщение
зачем тогда
Присматриваюсь, сравниваю...
0
1131 / 727 / 194
Регистрация: 30.03.2021
Сообщений: 2,378
03.09.2025, 16:38
Цитата Сообщение от iak Посмотреть сообщение
Присматриваюсь, сравниваю...
в рамках обучения я бы посоветовал онлайнкомпилятор для начала, если зайдет - vscode для консолек всяких, а дальше ты скорее всего захочешь графический интерфейс и тогда...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.09.2025, 16:38
Помогаю со студенческими работами здесь

Иероглифы в консоли Qt Creator
Кто-нибудь знает как решить данную проблему?

Как передать из одной функции в другую, чтобы вывести таблицу в Qt Creator
Есть у меня такой код. https://ru.files.fm/u/u2w7vvzq - файл resultcalculate Он выводит матрицу с...

Кириллица в консольном приложении и setlocale()
Люблю Qt, уже привык с ним работать, но мои консольные приложения в нём никак не могут подружиться...

Использование кириллицы в консоли
Ребят, программирую в QT Creator, почему-то не могу подключить русский язык в консоли! ...

Корректное отображение кириллицы в консоли
Как сделать, чтобы отображение кириллицы в консоли было корректным? Важные темы читал, не помогло


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
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
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru