Меню Рубрики

Абракадабра в командной строке windows 7

Абракадабра в файле выгруженным из командной строки

Абракадабра в файле выгруженным из командной строки

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию Pyatilistnik.org. В прошлый раз я вам подробно рассказывал, как диагностировать вашу систему, когда у вас нет интернета, судя по комментариям данный материал оказался полезным. Не так давно один из моих приятелей задал мне вопрос, почему при сохранении текстового файла с выводом результатов из командной стоки Windows у него вместо русского языка, отображается какая-то кракозябра. Давайте я покажу, как выкручиваться из данной ситуации.

Описание проблемы

Мой приятель делал диагностику репликации Active Directory и так как полученная диагностическая информация была объемной, он логично попытался сохранить ее в текстовый файл. Напоминаю делается, это вот по такой конструкции:

Тут > c:\temp\replsummary.log и есть функция вывода в файл.

При открытии файла он увидел вот такую абракадабры вместо русского текста:

Ќ з в бЎ®а ¤ ­­ле ¤«п бў®¤ЄЁ Ї® ९«ЁЄ жЁЁ, Ї®¤®¦¤ЁвҐ:
.

€б室­л© DSA ­ ЁЎ. ¤Ґ«мв бЎ®Ґў/ўбҐЈ® %% ®иЁЎЄ

Согласитесь, что это не очень красиво и читаемо.

Варианты устранения краскозябр в файле после экспорта из cmd

Первый вариант, это использование оболочки PowerShell. PowerShell умеет запускать большую часть утилит, к которым вы привыкли в командной строке, у него для этого есть алиасы в виде командлетов. Самое классное, что в отличии от cmd он сохраняет данные в нормальном виде, даже если они по русски. Для примера я выполню в PowerShell предыдущую команду;

В результате вы сразу можете оценить его преимущество и еще раз задуматься, чтобы использовать его.

Так же вы можете использовать командлет PowerShell под названием Out-File, он позволяет производить вывод полученных данных в виде файла, единственное не забываем указать нужное место, так же если места нет, вы его можете создать с помощью ключа -Force.

Если же вы хотите использовать именно командную строку, то вам необходимо перед вашей командой или в скрипте в самом начале выполнить вот эти строки:

В результате чего на выходе я получил положительный результат и никакой абракадабры вместо русского текста я не увидел.

Вот пример бат файла, где я использовал кодировку chcp 855.

Убираем кракозябры через реестр

В реестре Windows есть ветка «HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe», где вы можете создать ключ CodePage со значением 855. Напоминаю, что из себя представляют эти трехзначные цифры, обратите внимание, что 855 это именно кириллица (Дополнительно можно почитать https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers ).

В командной строке от имени администратора выполните команду по добавлению ключа:

Выглядеть это будет вот так

Так же создать ключ реестра можно и через PowerShell, вот такими командами:

Источник

Кракозябры в командной строке cmd. Проблемы с кодировкой cmd.exe

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

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

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

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

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

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

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

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

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

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

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

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

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

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

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Источник

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

  • А в попов командная строка и сценарии windows попов
  • А windows 8 где находится ярлыки программ
  • Zyxel p660ru3 ee драйвер для windows 7 64 bit
  • Zyxel omni adsl usb драйвер для windows 7
  • Zyxel omni 56k usb plus ee драйвер windows 7 x64