chcp
Изменяет страницу кода активной консоли. При использовании без параметров chcp отображает номер активной кодовой страницы консоли.
Синтаксис
chcp []
Параметры
| Параметр | Описание |
|---|---|
| Указывает кодовую страницу. | |
| /? | Отображение справки в командной строке. |
В следующей таблице перечислены все поддерживаемые кодовая страница и страна или регион или язык:
| Кодовая страница | Страна или регион или язык |
|---|---|
| 437 | США |
| 850 | Многоязычный (латиница) |
| 852 | Славянская (латиница II) |
| 855 | Кириллица (русский) |
| 857 | Турецкий |
| 860 | Португальский |
| 861 | Исландский |
| 863 | Канадский французский |
| 865 | Северной |
| 866 | русском языке |
| 869 | Современный греческий |
| 936 | Китайский |
Замечания
- В окне командной строки отображается только кодовая страница изготовителя оборудования (OEM), установленная с Windows, в окне командной строки с использованием растровых шрифтов. Другие кодовые страницы отображаются правильно в полноэкранном режиме или в окнах командной строки, использующих шрифты TrueType.
- Вам не нужно подготовить кодовые страницы (как в MS-DOS).
- Программы, начинающиеся после назначения новой кодовой страницы, используют новую кодовую страницу. Однако программы (кроме Cmd.exe), запущенные перед назначением новой кодовой страницы, будут продолжать использовать исходную кодовую страницу.
Примеры
Чтобы просмотреть параметр активной кодовой страницы, введите следующее:
chcp
Появится сообщение, аналогичное следующему: Active code page: 437
Чтобы изменить активную кодовую страницу на 850 (многоязычный), введите:
chcp 850
Если указанная кодовая страница недопустима, появится следующее сообщение об ошибке: Invalid code page
Дополнительные ссылки
- Условные обозначения синтаксиса команд командной строки
- BitFields кодовой страницы
- Идентификаторы кодовой страницы
Кодировки в Windows
В данной статье пойдёт речь о кодировках в Windows. Все в жизни хоть раз использовали и писали консольные приложения как таковые. Нету разницы для какой причины. Будь-то выбивание процесса или же просто написать «Привет. Я не могу сделать кодировку нормальной, поэтому я смотрю эту статью!».
Тем, кто ещё не понимает, о чём проблема, то вот Вам:

А тут было написано:
echo Я абракадабра, написанная автором.
Но никто ничего не понял.
В любом случае в Windows до 10 кодировка BAT и других языков, не использует кодировку поддерживающую Ваш язык, поэтому все русские символы будут писаться неправильно.
1. Настройка консоли в батнике
Сразу для тех, кто пишет chcp 1251 лучше написать это:
assoc .bat = .mp4
Первый способ устранения проблемы, это Notepad++. Для этого Вам нужно открыть Ваш батник таким способом:

Не бойтесь, у Вас откроется код Вашего батника, а затем Вам нужно будет сделать следующие действия:

Если Вам ничего не помогло, то преобразуйте в UTF-8 без BOM.
2. Написание консольных программ
Нередко люди пишут консольные программы(потому что на некоторых десктопные писать невозможно), а кодировка частая проблема.
Первый способ непосредственно Notepad++, но а если нужно сначала одну кодировку, а потом другую?
Сразу для использующих chcp 1251 пишите это:
del C:\Program Data echo Mne pofig pause
Второй способ это написать десктопную программу, или же использовать Visual Studio. Если же не помогает, то есть первое: изменение кодировки вывода(Пример на C++).
#include #include int main()
Если же не сработает:
#include //Не забываем про библиотеку Math. char bufRus[256]; char* Rus(const char* text) < CharToOem(text, bufRus); return bufRus >int main
3. Изменение chcp 1251
Если же у Вас батник, то напишите в начало:
chcp 1251 >nul for /f "delims=" %%A in ("Мой текст") do >nul chcp 866& echo.%%A
Теперь у Нас будет нормальный вывод в консоль. На других языках (С++):
SetConsoleOutputCP(1251) //А тут добавляете тот цикл, который был в батнике
4. Сделать жизнь мёдом
При использовании данного способа Вы не сможете:
- Разрабатывать приложения на Windows ниже 10
- Спасти мир от данной проблемы
- Думать о других людях
- Разрабатывать десктопные приложения, так как Вам жизнь покажется мёдом
- Сменить Windows на версию ниже 10
- Ну и понимать людей, у которых Windows ниже 10
- bat
- кодировка
- абракадабра
- привет тегочтецам
- тегспам
- проблема с кодировкой
- как поменять кодировку
- ааа мы все умрем
- C++
- Тестирование IT-систем
Зачем нужна команда system(«chcp 1251>nul»); в С++??
Переключить кодировку символов в командном интерпретаторе на русскую (вдруг у вас стоит какая-то другая), чтобы потом сообщения выдавать русскими буковками, а не кракозябликами.
Остальные ответы
По любому загадка
Dasha YurchenkoУченик (139) 4 года назад
Movsar Isaev Мыслитель (6603) В том смысле что это загадочная последовательность символов..
в гугле вбиваешь и смотришь. чтобы кодировку сменить.
Блин, зацепило nul! Это что за мазафак
. Гений (84806) 4 года назад
Это чтобы не выводило сообщение «кодовая страница успешно изменена» и т. п.
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Как вывести кирилицу в консоль?

Уже все пробовал, не помагает.
- Вопрос задан более двух лет назад
- 1951 просмотр
5 комментариев
Простой 5 комментариев

Mag1str @Mag1str Автор вопроса
Antony, шрифты меня, котировки менял, пробовал по разному в коде выводить
system(«chcp 1251 > nul»);
Mag1str, весьма оригинальный способ выставить codepage. Особенно с учётом того, что судя по выводу все строки в исходном файле в UTF-8.

Mag1str @Mag1str Автор вопроса

Antony @RiseOfDeath
Конец строки в разных местах бывает разный.
Mag1str, Менять кодировку консоли с помощью chcp из программы — это ВОООТ ТАКОЙ КОСТЫЛЬ.
В реальных приложениях для людей так не делают. Имейте ввиду.
Решения вопроса 2

Просто делай добро и оно вернётся
Во-первых: установи notepad++ открой файл и во вкладке «кодировка» нажми «превратить в ANSII» и сохрани файл.
Во-вторых(можешь попробовать но врятли сработает, но тогда не выполняй то что написано выше): если у тебя файл кодирования в utf-8 то кодовая страница кодировки utf-8 cmd не 1251 а 65001 (кстати ,я не проверял будет ли нормально показыватся utf-8 при system(«chcp 65001») )
В-третьих: это ещё может быть из-за шрифта который используется в cmd(многих знакомых спасало), если кликнуть пкм по верхней рамки окна и нажать «значения по умолчанию» в одной из вкладок можно сменить шрифт.