кириллица в командной строке



Автор Андрей Верховников задал вопрос в разделе Другие языки и технологии

Что нужно сделать чтобы командная строка выводила русский текст? и получил лучший ответ

Ответ от Kydes Kydesnik[гуру]
Сбои со шрифтами
Поддержка кириллицы всегда была головной болью пользователей, и хотя в Windows XP этот вопрос решен гораздо лучше, чем в альтернативных ОС, тем не менее, может так оказаться, что при установке в нелокализованной Windows русских программ, все меню с кириллицей будут искажены, либо кириллица будет недоступна в DOS-приложениях. Чтобы получить полную поддержку русского языка необходимо в диалоге «Control Panel» — «Regional and Language Options» — «Advanced» («Панель управления» — «Язык и региональные стандарты» — «Дополнительно» ) поставить флажок в длинном списке кодировок «Code page conversion tables» («Кодовые страницы таблиц преобразования» ) на строке «20880 (IBM EBCDIC — Cyrillic (Russian))» и установить параметр «Language for non-Unicode programs» («Язык программ, не поддерживающих Юникод» ) в положение «Rusian» («Русский») . На вкладке «Regional Options» («Региональные параметры» ) также нужно установить поддержку русского языка — это параметры «Standarts and formats», «Location», («Языковые стандарты и форматы» , «Расположение») , а в разделе «Languages» — «Text services and input languages» («Языки» — «Языки и службы текстового ввода» ) нужно добавить русскую раскладку клавиатуры.
Если не помогло, то в редакторе реестра откройте ветвь HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionFontSubstitutes и исправьте параметры шрифта, «отвечающего» за окна с искаженными символами:
"MS Shell Dlg"="Tahoma"
"MS Shell Dlg 2"="Tahoma"
на
"MS Shell Dlg"="Tahoma,204"
"MS Shell Dlg 2"="Tahoma,204"
либо на
"MS Shell Dlg"="Lucida Sans Unicode"
"MS Shell Dlg 2"="Lucida Sans Unicode"
Для других шрифтов тоже можно выбрать кириллическое подмножество, по аналогии дописав к ним цифры «204». Также в ветви HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionFontMapper установите:
"ARIAL"=dword:000000cc
"DEFAULT"=dword:000000cc
И, наконец, в ветви:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsCodePage
"1251"="C_1251.NLS"
"1252"="C_1251.NLS"
"866"="C_866.NLS"
"ACP"="1251"
"OEMCP"="866"
"MACCP"="10007"
"OEMHAL"="vga866.fon"
@="C_1251.NLS"
После изменений следует перезагрузить Windows. Установка параметра "1252"="C_1251.NLS" реально помогает во многих сложных ситуациях, но она, строго говоря, не совсем корректна и может в свою очередь привести к искажениям некоторых шрифтов, в этом случае от нее придется отказаться.
Если же с DOS-приложениями после этого по-прежнему остались проблемы, то вставьте в файл WINNTSYSTEM32AUTOEXEC.NT вызов какого-нибудь DOS-русификатора или команду:
"KB16 RU,866,C:WINNTSYSTEM32KEYBOARD.SYS"
а в разделе реестра
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboardLayoutDosKeybCodes
установите значение параметра «00000409» равным «ru».
Если же какие-то системные шрифты вообще стали отображаться некорректно (а к шрифтам относятся даже символы «Минимизировать» , «Закрыть» «Восстановить» , отображаемые на кнопках правого верхнего угла окон при использовании классического интерфейса) , то попробуйте в меню «Выполнить» («Run») кнопки «Пуск» ввести команду "SFC.EXE /SCANNOW" — Windows проверит защищенные системные файлы (exe, sys, dll, ocx, ttf, fon) и восстановит в случае их подмены или повреждения.

Ответ от Bartosch[гуру]
chcp 1251 - для Windows Кирилицы chcp 866 - DOS Кирилица

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Что нужно сделать чтобы командная строка выводила русский текст?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*