Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
#1

Русские символы в консоли выводятся нормально, латиница - нет - C++

04.02.2014, 16:47. Просмотров 1337. Ответов 20
Метки нет (Все метки)

Добрый день.
Подскажите пожалуйста, столкнулся с следующей проблемой, когда вывожу в консоль русские символы все выводится нормально, пока не начинаю выводить переменные.
К примеру конструкция:
C++
1
cout<<name;
Выведет на экран иероглифы, в то же время когда строка:
C++
1
cout<<"русский текст";
Выведет вполне читаемые русские символы.

Заранее спасибо за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 16:47     Русские символы в консоли выводятся нормально, латиница - нет
Посмотрите здесь:
C++ Не выводятся русские символы
C++ Считать русские и английские символы с консоли
C++ Неправильно считываются русские символы из консоли
C++ Русские символы в консоли на другом компьютере
Не выводит русские символы в консоли в одном приложении, Code::Blocks C++
Нужен совет: Какую библиотетеку подключить, чтобы в консоли русские символы были C++
C++ Как считать русские символы как строку в консоли
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 16:52     Русские символы в консоли выводятся нормально, латиница - нет #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
из
C++
1
#include <Windows.h>
+ в свойствах консоли поменяйте шрифт на Lucida Console
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
04.02.2014, 16:53     Русские символы в консоли выводятся нормально, латиница - нет #3
Добавь перед выводом на экран строку: system ("chcp 1251"), и в свойствах окна смени шрифт на Lucida Console
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
04.02.2014, 17:05  [ТС]     Русские символы в консоли выводятся нормально, латиница - нет #4
При попытке вставить выше указанные строки я получал я получал иероглифы на выводе.

Я забыл упомянуть одну важную вещь, строки которые криво выводятся в консоль, были изначально из нее считанны.

Я пытался задать локаль методом
C++ (Qt)
1
setlocale(0,"");
но результата это не принесло.
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 17:14     Русские символы в консоли выводятся нормально, латиница - нет #5
у меня работает..хотя, конечно же, не факт, что будет работать у вас
P.S. вы точно не забыли поменять шрифт в консоли?
Миниатюры
Русские символы в консоли выводятся нормально, латиница - нет  
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 05:25     Русские символы в консоли выводятся нормально, латиница - нет #6
Цитата Сообщение от kipill Посмотреть сообщение
При попытке вставить выше указанные строки я получал я получал иероглифы на выводе.
Установка шрифта Lucida Console
SatanaXIII
Супер-модератор
Эксперт С++
5602 / 2636 / 242
Регистрация: 01.11.2011
Сообщений: 6,495
Завершенные тесты: 1
05.02.2014, 10:01     Русские символы в консоли выводятся нормально, латиница - нет #7
Госспади. Но это же частные случаи. Вот же понимание: Русские шрифты в консоли
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 11:02  [ТС]     Русские символы в консоли выводятся нормально, латиница - нет #8
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
у меня работает..хотя, конечно же, не факт, что будет работать у вас
P.S. вы точно не забыли поменять шрифт в консоли?
Да поменял, получил противоположный эффект, то что ввожу отображается нормально, а то что статично отображается иероглифами.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 11:06     Русские символы в консоли выводятся нормально, латиница - нет #9
Среда какая?
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 11:09  [ТС]     Русские символы в консоли выводятся нормально, латиница - нет #10
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Госспади. Но это же частные случаи. Вот же понимание: Русские шрифты в консоли
Спасибо, я читал эту тему, но решения не нашел.
Сейчас перечитаю еще раз.

Добавлено через 58 секунд
Цитата Сообщение от alsav22 Посмотреть сообщение
Среда какая?
OC Widows, студия Code::Blocks.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 11:12     Русские символы в консоли выводятся нормально, латиница - нет #11
В Code::Blocks какая кодировка выставлена?
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 11:34  [ТС]     Русские символы в консоли выводятся нормально, латиница - нет #12
Цитата Сообщение от alsav22 Посмотреть сообщение
В Code::Blocks какая кодировка выставлена?
А где это посмотреть?
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 11:45     Русские символы в консоли выводятся нормально, латиница - нет #13
...
Миниатюры
Русские символы в консоли выводятся нормально, латиница - нет  
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,363
05.02.2014, 11:48     Русские символы в консоли выводятся нормально, латиница - нет #14
kipill, а можешь привести минимальный компилирующийся пример кода, позволяющего воспроизвести проблему?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 13:11     Русские символы в консоли выводятся нормально, латиница - нет
Еще ссылки по теме:
C++ Не выводятся русские буквы
Русские названия файлов выводятся некорректно C++
Набор текста (Не выводятся русские буквы, WideCharToMultiByte) C++
Выводятся крякозябры в консоли C++
В консоли вместо русского языка выводятся вопросительные знаки C++

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

Или воспользуйтесь поиском по форуму:
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 13:11  [ТС]     Русские символы в консоли выводятся нормально, латиница - нет #15
Цитата Сообщение от CheshireCat Посмотреть сообщение
kipill, а можешь привести минимальный компилирующийся пример кода, позволяющего воспроизвести проблему?
Да , могу.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale(0,"");
    string temp;
    cout << "Введите такст" << endl;
    getline(cin,temp);
    cout<<"Вы ввели: "<<temp<<endl;
    return 0;
}
Yandex
Объявления
05.02.2014, 13:11     Русские символы в консоли выводятся нормально, латиница - нет
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru