Кодировка командной строки windows 10

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


Добавил(а) microsin

  

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

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

cmd-normal-encoding-866

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

cmd-wrong-encoding-1251

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

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

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

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

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

cmd-normal-encoding-1251

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

[Шрифт cmd.exe]

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

[Ссылки]

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

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

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

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

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

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

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

Запустить командную строку можно следующим способом: Пуск →Выполнить →  вводим в поле команду – cmd и жмем ОК. В итоге откроется рабочее окно программы – c:\WINDOWS\system32\cmd.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 по умолчанию использует DOS-кодировку, но её можно изменить на UTF-8. В этой статье покажу как.

Возможные кодировки и команда chcp

Командная строка Windows может работать с тремя типами кодировок:

  • DOS-кодировка — её код 866;
  • Windows-кодировка (Кириллица) — её код 1251;
  • Unicode UTF-8 — её код 65001.

По умолчанию командная строка Windows использует DOS-кодировку. Чтобы это проверить, выполните команду chcp без аргументов:

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

В качестве аргумента вы можете передать код нужной кодировки, например так:

>chcp 65001
Active code page: 65001

Но эта кодировка будет работать только в этом экземпляре командной строки. А было бы удобно, чтобы в командной строке по умолчанию использовалась бы кодировка UTF-8.

В Windows 10 (сборке 1809) появилась специальная настройка, которая позволяет использовать Unicode UTF-8. Про это я узнал на этом форуме.

Чтобы задействовать эту опцию перейдите в параметры системы и затем перейдите в меню «Время и язык»:

Скриншот: Параметры Windows

От туда перейдите в меню «Язык» и нажмите на «Административные языковые параметры»:

Настройка Языка в Windows

Затем перейдите на вкладку «Дополнительно», нажмите на кнопку «Изменить язык системы». И в открывшемся окне «Региональные стандарты» поставьте галочку «Бета-версия: Использовать Юникод (UTF-8) для поддержки языка во всем мире»:

Меняем кодировку Windows на UTF-8

После этого, вам потребуется перезагрузить систему. А после перезагрузки командная строка будет по умолчанию использовать кодировку UTF-8.

Кстати, у меня сейчас Windows 10 версии 22H2 (сборка 19045.3930). И до сих пор эта опция находится в Бета версии. Но после переключения я проблем не заметил.


Если понравилась статья, подпишись на мой канал в VK или Telegram.


Windows

  • 09.06.2020
  • 122 367
  • 9
  • 265
  • 259
  • 6

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

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

В некоторых случаях, когда используется неверная кодировка, могут возникать так называемые кракозябры или иероглифы, т.е. не читаемые символы, которые невозможно разобрать при работе с командной строкой. Эти проблемы могут также возникать и при запуске различных 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

По умолчанию cmd.exe использует кодировку cp866. Текущую кодировку можно посмотреть командой chcp. Иногда возникает необходимость использовать в терминале юникод. Для этого необходимо использовать шрифт «Lucida Console» и переключить кодировку командой
>chcp <codepage>
Где параметр <codepage> для UTF-8 равен 65001

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Angry birds go для windows phone
  • Кодек ldac для windows 11
  • Как вернуть в windows 10 просмотрщик фотографий из windows 7
  • Разблокировать файл windows server
  • 0x8007232b активация windows 11 как исправить