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

Кодировка VS или конслоь - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Care
76 / 32 / 3
Регистрация: 04.06.2013
Сообщений: 295
23.07.2013, 21:23     Кодировка VS или конслоь #1
Собственно тока вчера написал "Hello,World !" на с++.
Терь по книжке пошли задания , но появилась проблема с кодировкой!
Пытаюсь вывести сообщение в консоль , а появляются кроказябры...
PS Среда VS2010 , кодеровка в консоле cp1251
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2013, 21:23     Кодировка VS или конслоь
Посмотрите здесь:

Кодировка в C C++
C++ Кодировка в разных ОС
C++ Кодировка, ASСII
C++ кодировка символов
Кодировка C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
23.07.2013, 21:30     Кодировка VS или конслоь #2
Пиши на английском, вот в Линуксе таких проблем нету, а в винде это проблема скорее всего ни с студией, а с кодировкой консоли
Я и сам отказался от русского, та же проблема

Добавлено через 1 минуту
Ну а вообще есть пару способов:
C++
1
setlocale (0,"");
и подключить библиотеку clocale (или locale.h, не помню)
C++
1
setlocale (LC_TYPE, "rus"
C++
1
setlocale (LC_TYPE, "Russian"
Добавлено через 48 секунд
Была ещё штука с Dev C++, сам ей пользовался, там был типа русификатор, заменялось пару файлов в компиляторе и потом пишешь на русском спокойно, при компиляции всё само настраивается

Добавлено через 2 минуты
Ещё можно что-то с CharToOem мутить, но о этом я смутно знаю
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.07.2013, 21:31     Кодировка VS или конслоь #3
Русские шрифты в консоли
Даниил
23.07.2013, 21:31
  #4

Не по теме:

Я от + тоже не откажусь

alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 21:34     Кодировка VS или конслоь #5
Цитата Сообщение от Care Посмотреть сообщение
кодеровка в консоле cp1251
В том то и дело, что не 1251.
Чтобы был и ввод и вывод:
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console. Установка шрифта Lucida Console
Care
76 / 32 / 3
Регистрация: 04.06.2013
Сообщений: 295
23.07.2013, 21:39  [ТС]     Кодировка VS или конслоь #6
Цитата Сообщение от alsav22 Посмотреть сообщение
В том то и дело, что не 1251.
Чтобы был и ввод и вывод:
C++
1
2
3
4
5
6
7
8
#include <windows.h>
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  ...
}
В свойствах консоли выбрать шрифт: Lucida Console. Установка шрифта Lucida Console
Кодеровка 100% cp1251 сам настраивал в реестре ОС

Добавлено через 55 секунд
Сам пишу на Java , и проблем с выводом в консоль не наблюдаю !
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
23.07.2013, 21:40     Кодировка VS или конслоь #7
Цитата Сообщение от Care Посмотреть сообщение
Кодеровка 100% cp1251 сам настраивал в реестре ОС

Добавлено через 55 секунд
Сам пишу на Java , и проблем с выводом в консоль не наблюдаю !
Повторюсь:
Русский это зло)В консоли по крайней мере..
К чему эти извращения с ЯП?Пиши на англ и не парься
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 21:40     Кодировка VS или конслоь #8
Цитата Сообщение от Care Посмотреть сообщение
Кодеровка 100% cp1251 сам настраивал в реестре ОС
Ключевое слово - ОС. В ОС одна кодировка (1251), а в консоли другая (866). Иначе этого бы не было:
Цитата Сообщение от Care Посмотреть сообщение
Пытаюсь вывести сообщение в консоль , а появляются кроказябры...
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
23.07.2013, 21:44     Кодировка VS или конслоь #9
alsav22, Правильно Я когда работал с Code Blocks (или Dev C++, не могу вспомнить) то там ещё можно было в настройках IDE устанавливать кодировку консоли Хотя не понимаю зачем это нужно, подозреваю что это ничего не даёт..)

Добавлено через 1 минуту

Не по теме:

Всем спокойной ночи

Care
76 / 32 / 3
Регистрация: 04.06.2013
Сообщений: 295
23.07.2013, 21:45  [ТС]     Кодировка VS или конслоь #10
Цитата Сообщение от Даниил1991 Посмотреть сообщение
Повторюсь:
Русский это зло)В консоли по крайней мере..
К чему эти извращения с ЯП?Пиши на англ и не парься
Ну пришлось так сделать )
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
23.07.2013, 21:46     Кодировка VS или конслоь #11
Молодец)
Кстати, спасибо за +
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 21:46     Кодировка VS или конслоь #12
Цитата Сообщение от Даниил1991 Посмотреть сообщение
Я когда работал с Code Blocks (или Dev C++, не могу вспомнить) то там ещё можно было в настройках IDE устанавливать кодировку консоли
Это кодировка не консоли.
Care
76 / 32 / 3
Регистрация: 04.06.2013
Сообщений: 295
23.07.2013, 21:46  [ТС]     Кодировка VS или конслоь #13
Цитата Сообщение от alsav22 Посмотреть сообщение
Ключевое слово - ОС. В ОС одна кодировка (1251), а в консоли другая (866). Иначе этого бы не было:
Я поставил кодеровку для консоли по умолчанию cp1251... Хотя мб кто то её там поменял ...)
Даниил
67 / 40 / 7
Регистрация: 14.05.2013
Сообщений: 383
23.07.2013, 21:48     Кодировка VS или конслоь #14
Цитата Сообщение от alsav22 Посмотреть сообщение
Это кодировка не консоли.
Угу, скорее всего так

Добавлено через 1 минуту
Цитата Сообщение от Care Посмотреть сообщение
Я поставил кодеровку для консоли по умолчанию cp1251... Хотя мб кто то её там поменял ...)
Кстати, можешь поставить себе Линукс Ubuntu хороший, Mint, LTS (про LTS точно не помню, может по другому чуть называется)..

Добавлено через 11 секунд
И проблема эта пропадёт
Care
76 / 32 / 3
Регистрация: 04.06.2013
Сообщений: 295
23.07.2013, 22:02  [ТС]     Кодировка VS или конслоь #15
Были траблы с кодеровкой в Java ... зашел по HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage в реестр и изменил OEMCP с 866 на 1251 (давно было) ща тоже самое стоит. На Java все робит ... Лана разберусь ) Спасибо всем)

Добавлено через 8 минут
кстати с этими операторами SetConsoleCP(1251);
SetConsoleOutputCP(1251); всё ровно краказябры показывает
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 22:10     Кодировка VS или конслоь #16
Цитата Сообщение от Care Посмотреть сообщение
SetConsoleOutputCP(1251); всё ровно краказябры показывает
Шрифт установили?
Цитата Сообщение от alsav22 Посмотреть сообщение
В свойствах консоли выбрать шрифт: Lucida Console.
Без этого не будет работать.
OhMyGodSoLong
23.07.2013, 22:11
  #17

Не по теме:

Обожаю *NIX и их решение повсеместно принять UTF-8 для совместимости.

Ну, хотя это проблемы не Юникода как такового, а больше оттого, что консоль на Винде никому особо не нужна с Юникодом.

Care
76 / 32 / 3
Регистрация: 04.06.2013
Сообщений: 295
23.07.2013, 22:11  [ТС]     Кодировка VS или конслоь #18
Цитата Сообщение от alsav22 Посмотреть сообщение
Шрифт установили?
Без этого не будет работать.
Lucida Console стоит
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.07.2013, 22:16     Кодировка VS или конслоь #19
Тогда не знаю. У всех работает.

Добавлено через 1 минуту
И это не работает (на вывод)?
C++
1
setlocale (0,"");
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2013, 22:24     Кодировка VS или конслоь
Еще ссылки по теме:

Кодировка ASII C++
Кодировка знака ± C++
C++ Сбивается кодировка

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

Или воспользуйтесь поиском по форуму:
Care
76 / 32 / 3
Регистрация: 04.06.2013
Сообщений: 295
23.07.2013, 22:24  [ТС]     Кодировка VS или конслоь #20
Цитата Сообщение от alsav22 Посмотреть сообщение
Тогда не знаю. У всех работает.

Добавлено через 1 минуту
И это не работает (на вывод)?
C++
1
setlocale (0,"");
Неа...
Есть подозрение что в этом виноват Visual Studio... в какой он кодировке работает по умолчанию?

Добавлено через 3 минуты
Цитата Сообщение от Care Посмотреть сообщение
Неа...
Есть подозрение что в этом виноват Visual Studio... в какой он кодировке работает по умолчанию?
Точнее в какой кодировке он хранит текст программы?
Yandex
Объявления
23.07.2013, 22:24     Кодировка VS или конслоь
Ответ Создать тему
Опции темы

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