Перейти к содержимому

Chcp 1251 c что это

  • автор:

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. Все в жизни хоть раз использовали и писали консольные приложения как таковые. Нету разницы для какой причины. Будь-то выбивание процесса или же просто написать «Привет. Я не могу сделать кодировку нормальной, поэтому я смотрю эту статью!».

Тем, кто ещё не понимает, о чём проблема, то вот Вам:

image

А тут было написано:

echo Я абракадабра, написанная автором. 

Но никто ничего не понял.

В любом случае в Windows до 10 кодировка BAT и других языков, не использует кодировку поддерживающую Ваш язык, поэтому все русские символы будут писаться неправильно.

1. Настройка консоли в батнике

Сразу для тех, кто пишет chcp 1251 лучше написать это:

assoc .bat = .mp4 

Первый способ устранения проблемы, это Notepad++. Для этого Вам нужно открыть Ваш батник таким способом:

image

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

image

Если Вам ничего не помогло, то преобразуйте в 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.

Как вывести кирилицу в консоль?

60afa4f720ea1313011785.png

Уже все пробовал, не помагает.

  • Вопрос задан более двух лет назад
  • 1951 просмотр

5 комментариев

Простой 5 комментариев

Mag1str

Mag1str @Mag1str Автор вопроса
Antony, шрифты меня, котировки менял, пробовал по разному в коде выводить

system(«chcp 1251 > nul»);

Mag1str, весьма оригинальный способ выставить codepage. Особенно с учётом того, что судя по выводу все строки в исходном файле в UTF-8.

Mag1str

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

RiseOfDeath

Antony @RiseOfDeath

Конец строки в разных местах бывает разный.

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

Решения вопроса 2

Sergomen

Просто делай добро и оно вернётся

Во-первых: установи notepad++ открой файл и во вкладке «кодировка» нажми «превратить в ANSII» и сохрани файл.

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

В-третьих: это ещё может быть из-за шрифта который используется в cmd(многих знакомых спасало), если кликнуть пкм по верхней рамки окна и нажать «значения по умолчанию» в одной из вкладок можно сменить шрифт.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *