Как исправить кодировку в cmd

Время чтение: 4 минуты
2014-01-19

Как корректно отобразить Русский текст в CMD. Проблемы с кодировкой могут возникнуть, например, при выполнении Bat файла, когда нужно вывести в консоль русский текст и при других обстоятельствах, о которых речь пойдёт далее.

Рассмотрим пример: когда нужно вывести в консоль Русский текст, скажем «Примет мир». Для этого создадим Bat файл с именем «1.bat». Используйте для этого обычный Блокнот Windows (Notepad.exe) Запишем в него  следующие строки!

@Echo off

  echo.

     echo ПРИВЕТ МИР

    echo.

Pause

Для тех, кто не понял или не в курсе, строчки «echo.» я добавил специально, что бы были отступы, от строки «Примет мир»

Теперь запускаем файл 1.bat и результат будет такого вида.

Русский текст в CMD

Как видим проблема с кодировкой в cmd на лицо. И произошло это по следующей причине.

Стандартный блокнот Windows сохранил Bat файл в кодировке «1251» а консоль вывела его в кодировки «866». Вот от сюда все проблемы!

Решения проблемы с кодировкой в CMD. 1 Способ.

Для решения проблемы нужно просто использовать текстовой редактор, с помощью которого можно сохранить текст в кодировке «866». Для этих целей прекрасно подходит «Notepad++» (Ссылку для загрузки Вы можете найти в моём Twitter-e).

Скачиваем и устанавливаем на свой компьютер «Notepad++».

После запуска «Notepad++» запишете в документ те же строки, которые мы уже ранние записывали в стандартный блокнот.

@Echo off

  echo.

     echo ПРИВЕТ МИР

    echo.

Pause

Теперь осталось сохранить документ с именем «2.bat» в правильной кодировке. Для этого идём в меню «Кодировки > Кодировки > Кириллица > OEM-866»

cmd сменить кодировку

и теперь сохраняем файл с именем «2.bat» и запускаем его! Поле запуска результат на лицо.

cmd смена кодировки

Как видим, текст на Русском в CMD отобразился, как положено.

Решения проблемы с кодировкой в CMD. 2 Способ.

Теперь рассмотрим ещё одну ситуацию, когда могут возникнуть проблемы с кодировкой в CMD.

Допустим, ситуация требует сохранить результат выполнения той или иной команды в обычный «TXT» файл. В приделах этого поста возьмём для примера команду «HELP».

Задача: Сохранить справку CMD в файл «HelpCMD.txt. Для этого создайте Bat файл и запишите в него следующие строки.

@Echo off

Help > C:HelpCMD.txt

Pause

После выполнения Bat файла в корне диска «C:» появится файл «HelpCMD.txt» и вместо справки получится вот что:

поменять кодировку cmd

Естественно, такой вариант не кому не понравится и что бы сохранить справку в понятном для человека виде, допишите в Bat файл строку.

Теперь содержимое кода будет такое.

@Echo off

chcp 1251 >nul

Help > C:HelpCMD.txt

Pause

После выполнения «Батника» результат будет такой:

поменять кодировку cmd

Вот так на много лучше, правда?

Пожалуй, на этом я закончу пост. Добавить больше нечего. Если у Вас имеются какие-то соображения по данной теме, буду рад Вашему комментарию к посту.

Дополнительно из комментариев то Garric

Автор очень хорошо описал принцип. ! Но это неудобно.
Нужно бы добавить. Если автор добавит это в статью то это будет Good.
Создаём файл .reg следующего содержания:
——
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT.batShellNew]
«FileName»=»BATНастроенная кодировка.bat»
——
Выполняем.
——
Топаем в %SystemRoot%SHELLNEW
Создаём там файл «BATНастроенная кодировка.bat»
Открываем в Notepad++
Вводим любой текст. (нужно!) Сохраняемся.
Удаляем текст. Меняем кодировку как сказано в статье. Сохраняемся.
———-
Щёлкаем правой кнопкой мыши по Рабочему столу. Нажимаем «Создать» — «Пакетный файл Windows».
Переименовываем. Открываем в Notepad++. Пишем батник.
В дальнейшем при работе с файлом не нажимаем ничего кроме как просто «Сохранить». Никаких «Сохранить как».


Windows

  • 09.06.2020
  • 72 265
  • 6
  • 166
  • 163
  • 3

Настройка кодировки шрифтов в cmd/bat (иероглифы, кракозябры)

  • Содержание статьи
    • Исправляем проблему с кодировкой с помощью смены шрифта
    • Исправляем проблему с кодировкой с помощью смены кодировки
    • Комментарии к статье ( 6 шт )
    • Добавить комментарий

В некоторых случаях, когда используется неверная кодировка, могут возникать так называемые кракозябры или иероглифы, т.е. не читаемые символы, которые невозможно разобрать при работе с командной строкой. Эти проблемы могут также возникать и при запуске различных BAT-файлов. В данной статье мы расскажем о том, как можно сменить шрифт или кодировку, чтобы избавиться от этой проблемы. Пример таких не читаемых символов можно видеть на картинке ниже:

Исправляем проблему с кодировкой с помощью смены шрифта

Первым делом нужно зайти в свойства окна: Правой кнопкой щелкнуть по верхней части окна -> Свойства -> в открывшемся окне в поле Шрифт выбрать Lucida Console и нажать кнопку ОК.
После этого не читаемые символы должны исчезнуть, а текст должен выводиться на русском языке.

Исправляем проблему с кодировкой с помощью смены кодировки

Вместо смены шрифта, можно сменить кодировку, которая используется при работе cmd.exe.
Узнать текущую кодировку можно введя в командной строке команду chcp, после ввода данной команды необходимо нажать Enter.

Как видно на скриншоте, текущая используемая кодировка Windows-1251
Для изменения кодировки нам необходимо воспользоваться командой chcp <код_новой_кодировки>, где <код_новой_кодировки> – это сам код кодировки, на которую мы хотим переключиться. Возможные значения:

  • 1251 – Windows-кодировка (Кириллица);
  • 866 – DOS-кодировка;
  • 65001 – Кодировка UTF-8;

Т.е. для смены кодировки на DOS, команда примет следующий вид:

chcp 866

Для смены кодировки на UTF-8, команда примет следующий вид:

chcp 65001

Для смены кодировки на Windows-1251, команда примет следующий вид:

chcp 1251

Приветствую, буду очень рад, если смогу помочь в решении Вашей проблемы! Не понятен какой-либо фрагмент в этой статьей, пишите в комментариях, по Вашему запросу создам расширенный контент (новую статью, с картинками и пояснениями).

Однажды решил проверить свой компьютер на вирусы и не локальным вирусником, а попробовать в деле небольшую программку ComboFix, она самостоятельно находит вирусы и удаляет их. Но произошел вот такой казус, смотрите:

Вместо русского кракозябры появились...
Вместо русского кракозябры появились…

Мне надо было сразу просмотреть отчет ComboFix (она выдает отчет после проверки) там я увидел, что она удалила вирус. Нашел в интернете, какие проблемы этот вирус приносит, а потом почитал информацию по этой программе. Узнал, что именно после удаления данного вируса отображение русских символов в cmd изменилось.

Cmd.exe – это и есть командная строка или программа с текстовым интерфейсом, выглядит вот так:

правильный вид с русским текстом...
правильный вид с русским текстом…

И полез я в поисковик, мне самому стало интересно! Не представляете сколько я информации перерыл по этой теме. Но все инструкции были почти одинаковые – “нужно скачать такой то код и добавить его в реестр компьютера”. Но я очень осторожно отношусь к таким советам, реестр это вообще серьезная часть операционной системы и лишний раз туда лучше не залазить.

Решил искать дальше…

Короче, убил на это дело почти весь день. Уже не помню на каком форуме, мне подсказали один способ, все очень просто – как дважды два! Сейчас все разложу Вам по полочкам, сами удивитесь как просто.

Вот по этому адресу живет командная строка: c:WINDOWSsystem32cmd.exe

Чтобы ее запустить нужно нажать пару кнопочек: Пуск →Выполнить →  вводим в поле команду – cmd и жмем ОК.

Вот способ: оказывается нужно было просто изменить шрифт в этом окне! Я убил целый день, чтобы найти эту информацию! Имею ввиду окно командной строки.

Щелкаете правой кнопкой мыши, вверху окна, в выпадающем меню выбираем “Свойство” , заходим во вкладу “Шрифт” и выбираем Lucida Console жмем ОК.

Стрелочкой показал, какой шрифт выбрать...
Стрелочкой показал, какой шрифт выбрать…

Все больше ничего мудрить не надо! Пользуйся на здоровье! Если Вам необходимо поменять кодировку текста, то вот следующая инструкция.

Посмотреть какая сейчас у Вас кодировка, вводим chcp и Вам выдаст Вашу кодировку. Для изменения кодировки делаем так:

chcp [код]

где [код] это цифровой параметр нужного шрифта. Вот некоторые коды:

1251 – Windows (кириллица);

866 – DOC-кодировка;

65001 – UTF-8

На этом у меня все. Если данная статья вам понравилась, а главное помогла в решении Вашей проблемы, то отблагодарите меня, путем проставления лайка за мои старания. А также подписывайтесь на мой канал, на мой ютуб-канал и инстаграм. Тема компьютеры и устранение неисправностей почти бесконечна. Поэтому, я уверен, что будет еще много всего интересного. Всем спасибо за внимание и до новых встреч!

Самый легкий способ исправить кодировку в cmd (командной строке), вместо кракозябр - русский шрифт.

Кракозябры в командной строке cmd. Проблемы с кодировкой cmd.exe Столкнулся с проблемой отображения кракозябров в cmd в Windows 7. Как исправить надо.

Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

chcp 866; chcp 1251; chcp 65001 – не помогали.

Оказывается надо в свойствах самого cmd выбрать шрифт Lucida Console!!!. Только так можно получить нормальный текст на русском языке.

Спасшая статья:

Приложение cmd.exe – это командная строка или программная оболочка с текстовым интерфейсом (во загнул :) ).

Запустить командную строку можно следующим способом: Пуск →Выполнить →  вводим в поле команду – cmd и жмем ОК. В итоге откроется рабочее окно программы – c:WINDOWSsystem32cmd.exe. (рис.1)

Рис.1

Если Вы занялись проблемой кодировки шрифтов в cmd.exe, то как запускать командную строку наверняка уже знаете :)

Перейдем собственно к проблеме: иногда вместо русских букв при выполнении команд выходит набор непонятных символов (рис.2).

Рис.2

Первым делом нужно зайти в свойства окна – правой кнопкой щелкнуть по верхней части окна → Свойства → выйдет окно рис.3, здесь в поле Шрифтвыбираем Lucida Console и жмем ОК.

Рис.3

Теперь Вы получили нормальный текст на русском языке. Так же можно поменять текущую кодировку шрифта, для этого используется команда chcp. Набираем эту команду и жмем Enter, в результате получим текущую кодировку для командной строки – рис.4.

Рис.4

Для изменения кодировки так же применим chcp в следующем формате:

Chcp <код>

Где <код> – это цифровой параметр нужного шрифта, например,

1251 – Windows (кириллица);

866 – DOC-кодировка;

65001 – UTF-8;

Выбирайте на любой вкус. Т.о. что бы изменить кодировку на UTF-8 нужно выполнить команду chcp 65001.

Кракозябры в командной строке Windows Печать

Добавил(а) microsin

  

Иногда по неизвестным причинам некоторые команды русскоязычной версии Windows выводят русский текст в нечитаемой кодировке, кракозябрами.

Например, команда help выводит нормальный текст:

cmd-normal-encoding-866

Но при этом подсказка telnet выводит в ответ кракозябры.

cmd-wrong-encoding-1251

Так может происходить, к примеру, если текущая кодировка консоли 866, а утилита telnet.exe почему-то выводит текст в кодировке 1251. Вывести текст в нужной кодировке поможет команда chcp, которая устанавливает нужную кодировку.

Вот так можно посмотреть текущую кодировку консоли:

c:Documents and Settingsuser>chcp
Текущая кодовая страница: 866
  
c:Documents and Settingsuser>

А вот так можно поменять кодировку на 1251, после чего вывод подсказки telnet будет отображаться нормально:

c:Documents and Settingsuser>chcp 1251
Текущая кодовая страница: 1251
  
c:Documents and Settingsuser>

cmd-normal-encoding-1251

К сожалению, заранее угадать, в какой кодировке выводится текст, невозможно, поэтому проще попробовать установить командой chcp разные кодировки, чтобы добиться правильного отображения русского текста. Обычно используются кодировки 866 (кодировка русского текста DOS), 1251 (кодировка русского текста Windows), 65001 (UTF-8).

[Шрифт cmd.exe]

Иногда кракозябры можно убрать, если выбрать в свойствах окна cmd.exe шрифт Lucida Console (по умолчанию там стоит “Точечные шрифты”).

[Ссылки]

1. Универсальный декодер – конвертер кириллицы.

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