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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
04.02.2014, 16:47     Русские символы в консоли выводятся нормально, латиница - нет #1
Добрый день.
Подскажите пожалуйста, столкнулся с следующей проблемой, когда вывожу в консоль русские символы все выводится нормально, пока не начинаю выводить переменные.
К примеру конструкция:
C++
1
cout<<name;
Выведет на экран иероглифы, в то же время когда строка:
C++
1
cout<<"русский текст";
Выведет вполне читаемые русские символы.

Заранее спасибо за помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 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
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
04.02.2014, 17:14     Русские символы в консоли выводятся нормально, латиница - нет #5
у меня работает..хотя, конечно же, не факт, что будет работать у вас
P.S. вы точно не забыли поменять шрифт в консоли?
Миниатюры
Русские символы в консоли выводятся нормально, латиница - нет  
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 05:25     Русские символы в консоли выводятся нормально, латиница - нет #6
Цитата Сообщение от kipill Посмотреть сообщение
При попытке вставить выше указанные строки я получал я получал иероглифы на выводе.
Установка шрифта Lucida Console
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 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
5282 / 4801 / 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
5282 / 4801 / 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
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 11:45     Русские символы в консоли выводятся нормально, латиница - нет #13
...
Миниатюры
Русские символы в консоли выводятся нормально, латиница - нет  
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
05.02.2014, 11:48     Русские символы в консоли выводятся нормально, латиница - нет #14
kipill, а можешь привести минимальный компилирующийся пример кода, позволяющего воспроизвести проблему?
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;
}
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
05.02.2014, 13:13  [ТС]     Русские символы в консоли выводятся нормально, латиница - нет #16
По поводу кодировки у меня стоит:
Русские символы в консоли выводятся нормально, латиница - нет
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.02.2014, 23:41     Русские символы в консоли выводятся нормально, латиница - нет #17
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от kipill Посмотреть сообщение
Да , могу.
И где здесь это (о чём и разговор идёт в последних постах)?
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
из
C++
1
#include <Windows.h>
+ в свойствах консоли поменяйте шрифт на Lucida Console
kipill
0 / 0 / 0
Регистрация: 27.12.2013
Сообщений: 34
06.02.2014, 13:18  [ТС]     Русские символы в консоли выводятся нормально, латиница - нет #18
Цитата Сообщение от alsav22 Посмотреть сообщение
И где здесь это (о чём и разговор идёт в последних постах)?
Прошу прощение, не то скопировал.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string>
#include <windows.h>
 
using namespace std;
 
int main()
{
    //setlocale(0,"");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string temp;
    cout << "Введите текст" << endl;
    getline(cin,temp);
    cout<<"Вы ввели: "<<temp<<endl;
    return 0;
}
Добавлено через 1 минуту
При необходимости могу скинуть то что выводится в консоле.
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
06.02.2014, 13:22     Русские символы в консоли выводятся нормально, латиница - нет #19
а если просто так сделать
C++
1
cout << "test text  тест текста"
что будет?

Добавлено через 20 секунд
Цитата Сообщение от kipill Посмотреть сообщение
При необходимости могу скинуть то что выводится в консоле.
желательно бы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2014, 13:32     Русские символы в консоли выводятся нормально, латиница - нет
Еще ссылки по теме:

В консоли вместо русского языка выводятся вопросительные знаки C++
C++ Неправильно считываются русские символы из консоли
C++ Не выводятся русские символы

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.02.2014, 13:32     Русские символы в консоли выводятся нормально, латиница - нет #20
Шрифт в свойствах по-умолчанию консоли меняли?
Yandex
Объявления
06.02.2014, 13:32     Русские символы в консоли выводятся нормально, латиница - нет
Ответ Создать тему
Опции темы

Текущее время: 07:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru