Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для iRomul
163 / 104 / 14
Регистрация: 17.10.2012
Сообщений: 488

Кракозябры в консоли - почему?

11.08.2013, 21:22. Показов 2006. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Почитав форум и статью про кодировки вообще я задался парой вопросов. Ладно, мне более менее ясно, почему возникают кракозябры (win1251 -> OEM 866). Но неясно 2 момента:
1) Почему при вызове функции setlocale(LC_ALL, "Russian") работает вывод (и почему вообще это происходит?), но не работает ввод?
2) Почему при SetConsoleCP(1251) и SetConsoleOutputCP(1251) работает ввод и вывод, но нет поддержки точечных шрифтов? Я подозреваю, что они не поддерживают русские символы для 1251, но тогда неясно, что же делает setlocale.
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.08.2013, 21:22
Ответы с готовыми решениями:

Сделать, чтобы в консоли отображались русские буквы, а не кракозябры
Собственно вместо русских букв выдает кракозябры. Шрифт Lucida. Как пофиксить? #include <stdio.h> #include <iostream> ...

Тетрис в консоли: почему выбрасывается исключение?
Чувачки можете обьяснить почему у меня идет это прерывание ? Необработанное исключение по адресу 0x01037454 в TETRIS_K.exe:...

Почему введенное значение в консоли считывается только до пробела?
Не могу прочитать строку полностью, считывает только до пробела, та самая ситуация с вводом в консоли. Использую масив char #include...

3
 Аватар для no_wearines
56 / 52 / 21
Регистрация: 01.01.2012
Сообщений: 347
12.08.2013, 22:26
по поводу почему не работает или не поддерживает - вам ответит Borland либо microsoft и т.д. А функция setlocale - устанавливает правила форматирования текста для различных регионов. Например: символ десятичной точки, символ для разделения группы цифр, знак местной денежной еденицы и т.д.
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
12.08.2013, 22:35
Мне тоже интересна эта тема.
А какие отличия если скажем вместо (LC_ALL, "Russian") я укажу (LC_ALL, "") или (LC_ALL, "Rus")?
я так понимаю что как раз в десятичной точке и тд?
0
 Аватар для no_wearines
56 / 52 / 21
Регистрация: 01.01.2012
Сообщений: 347
12.08.2013, 22:44
Rus
rus
russian
Russian
Russian_Russia
Russian_Russia.1251

ЕСТЬ СИНОНИМЫ!!! - Устанавливают кодовую страницу 1251 (которую использует руссифицированная Windows). При этом консоль все же имеет кодовую страницу OEM 866!

C++
1
setlocale(categ, locale);
если параметр locale равен NULL - ничего не изменится. Если пустой строке ("") - применяются системные настройки.

Цитата Сообщение от reisal78 Посмотреть сообщение
я так понимаю что как раз в десятичной точке и тд?
+ устанавливается кодовая страница.

По поводу изучения этой темы - тебя ждет большой взрыв говна!!! Так как идеально все функции локализации реализованы в среде Visual Studio (ну может еще гдето). В остальном получишь непонятки.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.08.2013, 22:44
Помогаю со студенческими работами здесь

Подскажете пожалуйста, почему при запуске консоли нет останова?
#include <iostream> #include <vector> #include <cmath> #include <algorithm> #include <string> #include <map> #include <set> ...

Почему чтобы корректно отображались русские буквы в консоли, мало изменить кодировку
Последнее-то что даёт? Имеем: printf ("sы");на выходе- s<кракозябр> а почему? смотрим, что у нас в экзешнике, там где должно быть...

Неожиданное поведение программы: почему после каждой выведенной фразы в консоли появляются цифры?
почему после каждой выведенной фразы в консоли появляются цифры? например, Введите значение а:1.4822е-323 и как...

Почему если в консоли ввести вместо числа любой символ, программа впадает в бесконечный цикл?
Всем привет! Недавно начал изучать С++ и столкнулся с проблемой при создании калькулятора. Если в консоли ввести вместо числа любой...

Прошу объяснить мне почему я не могу задать размер массива с консоли, без его ограничения каким либо числом?
int n; int mx = 0; cin >> n; int a ; //не выходит это чертово n использовать приходится писать по дркугому for...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru