кракозябры в cmd windows 7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Кракозябры в cmd windows 7

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

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

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

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

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

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

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

кракозябры в cmd windows 7. krakozyabry v fayle iz cmd 01. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-krakozyabry v fayle iz cmd 01. картинка кракозябры в cmd windows 7. картинка krakozyabry v fayle iz cmd 01. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

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

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

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

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

кракозябры в cmd windows 7. krakozyabry v fayle iz cmd 02. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-krakozyabry v fayle iz cmd 02. картинка кракозябры в cmd windows 7. картинка krakozyabry v fayle iz cmd 02. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

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

кракозябры в cmd windows 7. krakozyabry v fayle iz cmd 03. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-krakozyabry v fayle iz cmd 03. картинка кракозябры в cmd windows 7. картинка krakozyabry v fayle iz cmd 03. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

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

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

кракозябры в cmd windows 7. krakozyabry v fayle iz cmd 04. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-krakozyabry v fayle iz cmd 04. картинка кракозябры в cmd windows 7. картинка krakozyabry v fayle iz cmd 04. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

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

кракозябры в cmd windows 7. krakozyabry v fayle iz cmd 05. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-krakozyabry v fayle iz cmd 05. картинка кракозябры в cmd windows 7. картинка krakozyabry v fayle iz cmd 05. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

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

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

кракозябры в cmd windows 7. krakozyabry v fayle iz cmd 06. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-krakozyabry v fayle iz cmd 06. картинка кракозябры в cmd windows 7. картинка krakozyabry v fayle iz cmd 06. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

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

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

кракозябры в cmd windows 7. krakozyabry v fayle iz cmd 07. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-krakozyabry v fayle iz cmd 07. картинка кракозябры в cmd windows 7. картинка krakozyabry v fayle iz cmd 07. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

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

Источник

Сбилась кодировка в командной строке. Как исправить

Проблема: в консоли кириллические символы отображаются в неверной кодировке (в народе «кракозябры»):

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

При этом, если выполнить команду

кириллица становится читаемой только для текущего сеанса. А при перезапуске командной строки кодировка снова сбивается. Если у вас ситуация выглядит так же, то это означает, что неверные параметры кодовой страницы берутся из реестра и решать проблему нужно именно там.

Как установить правильную кодировку в консоли

Запустите редактор реестра:

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

Откройте раздел HKEY_CURRENT_USER\Console и проверьте значение параметра CodePage (должно быть 866).

В нашем примере на картинке мы видим, что в параметре по какой-то причине указана кодировка 1251, что бесспорно и является причиной появления абракадабры.

Если у вас значение этого параметра отличается от 866, нажмите два раза по параметру CodePage:

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

Установите переключатель в положение Десятичная.

В поле Значение введите 866.

Нажмите OK:

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

Перезапустите командную строку (закройте окно и запустите его заново — Win+R, cmd, enter). Вы должны увидеть корректное отображение кириллицы:

Источник

Гарантированная локализация/русификация консоли Windows

Введение

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

Виды консолей

В общем случае функции консоли таковы:

управление операционной системой и системным окружением приложений на основе применения стандартных системных устройств ввода-вывода (экран и клавиатура), использования команд операционной системы и/или собственно консоли;

запуск приложений и обеспечение их доступа к стандартным потокам ввода-вывода системы, также с помощью стандартных системных устройств ввода-вывода.

Отдельным видом консоли можно считать консоль отладки Visual Studio (CMD-D ).

Конфликт кодировок

Совет 1. Выполнять разработку текстовых файлов (программных кодов, текстовых данных и др.) исключительно в кодировке UTF-8. Мир любит Юникод, а кроссплатформенность без него вообще невозможна.

Совет 2. Периодически проверять кодировку, например в текстовом редакторе Notepad++. Visual Studio может сбивать кодировку, особенно при редактировании за пределами VS.

Поскольку в консоли постоянно происходит передача управления от приложений к собственно командному процессору и обратно, регулярно возникает «конфликт кодировок», наглядно иллюстрируемый таблица 1 и 2, сформированных следующим образом:

Команды и код приложения под катом

> Echo ffffff фффффф // в командной строке

PS> Echo ffffff фффффф // в PowerShell

код тестового приложения:

Командную часть задания все консоли локализовали практически без сбоев во всех кодировках, за исключением: в WPS неверно отображена русскоязычная часть команды во всех кодировках.

кракозябры в cmd windows 7. 9514774000f8bd2d454a8553cd36a1bf. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-9514774000f8bd2d454a8553cd36a1bf. картинка кракозябры в cmd windows 7. картинка 9514774000f8bd2d454a8553cd36a1bf. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.Табл. 1. Результат выполнения команды консоли Echo ffffff фффффф

Вывод тестового приложения локализован лишь в 50% испытаний, как показано в табл.2.

кракозябры в cmd windows 7. a8a11a2d4a03e3cb91d64cfcfbeece05. кракозябры в cmd windows 7 фото. кракозябры в cmd windows 7-a8a11a2d4a03e3cb91d64cfcfbeece05. картинка кракозябры в cmd windows 7. картинка a8a11a2d4a03e3cb91d64cfcfbeece05. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.Табл. 2. Результат запуска приложения LoggingConsole.Test

Сoвет 3. Про PowerShell забываем раз и навсегда. Ну может не навсегда, а до следующей мажорной версии.

По умолчанию Windows устанавливает для консоли кодовые страницы DOS. Чаще всего CP437, иногда CP866. Актуальные версии командной строки cmd.exe способны локализовать приложения на основе русифицированной кодовой страницы 866, но не 437, отсюда и изначальный конфликт кодировок консоли и приложения. Поэтому

Проблемы консолей Visual Studio

Отдельной опцией Visual Studio является встроенная односеансная консоль отладки, которая перехватывает команду Visual Studio на запуск приложения, запускается сама, ожидает компиляцию приложения, запускает его и отдает ему управление. Таким образом, отладочная консоль в течение всего рабочего сеанса находится под управлением приложения и возможность использования команд Windows или самой консоли, включая команду CHCP, не предусмотрена. Более того, отладочная консоль не воспринимает кодовую страницу по умолчанию, определенную в реестре, и всегда запускается в кодировке 437 или 866.

Совет 6. Тестирование приложения целесообразно выполнять во внешних консолях, более дружелюбных к локализации.

Локализация отладочной консоли Visual Studio

Ниже приведен пример вывода тестового приложения в консоль, иллюстрирующий изложенное. Метод Write получает номера текущих страниц, устанавливает новые кодовые страницы вводного и выводного потоков, выполняет чтение с консоли и записывает выводную строку, содержащий русский текст, в том числе считанный с консоли, обратно в консоль. Операция повторяется несколько раз для всех основных кодовых страниц, упомянутых ранее.

приложение запущено в консоли с кодовыми страницами 1251 (строка 2);

приложение меняет кодовые страницы консоли (current, setted);

приложение остановлено в консоли с кодовыми страницами 1252 (строка 11, setted);

Приложение адекватно локализовано только в случае совпадения текущих кодовых страниц консоли (setted 1251:1251) с начальными кодовыми страницами (строки 8 и 10).

Код тестового приложения под катом

Совет 7. Обязательный и повторный! Функции SetConsoleCP должны размещаться в коде до первого оператора ввода-вывода в консоль.

Стратегия локализации приложения в консоли

Удалить приложение PowerShell (если установлено), сохранив Windows PowerShell;

Установить в качестве кодовую страницу консоли по умолчанию CP65001 (utf-8 Unicode) или CP1251 (Windows-1251-Cyr), см. совет 5;

Разработку приложений выполнять в кодировке utf-8 Unicode;

Контролировать кодировку файлов исходных кодов, текстовых файлов данных, например с помощью Notepad++;

Реализовать программное управление локализацией приложения в консоли, пример ниже под катом:

Пример программной установки кодовой страницы и локализации приложения в консоли

Источник

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

Вместо русских букв в командной строке отображаются какие то каракули (система Windows 7 Starter). Как это исправить? Лазил в Языки и региональные стандарты, там вроде все в порядке

Добавлено через 4 часа 59 минут
Ребят, неужели не в курсе никто? Частично проблему исправил путем команды chcp 866, но при перезапуске все тоже самое, каждый раз приходится вручную ставить. Что делать?

При чтении каких-то значений на русском языке из INI файла вместо русских букв появляются крякозябры, когда с
При чтении каких-то значений на русском языке из INI файла вместо русских букв появляются.

Крякозябры вместо русских буква при чтении из INI файла
При чтении каких-то значений на русском языке из INI файла вместо русских букв появляются.

Крякозябры в командной строке
Всем доброго времени суток. Возникла следующая проблема: некорректно отображаются сообщения на.

Код:
Windows Registry Editor Version 5.00

нажми win+R в поле выполнить напиши cmd, там в сверху где путь указан в рамке самой нажми правой кнопкой мыши «Свойства» далее в шрифт поставь Lucida Console размер 12 ну или какой тебе удобно будет. Всё теперь у тебя русские символы нормально показываться будут. Так же к дополнению если хочешь поменять кодировки командной строки напиши

Пиши chcp 1251 и он автоматически изменить на 1251 кодировку
Пиши chcp 866 и он автоматически изменить на 866 – DOC-кодировку
Пиши chcp 65001 и он автоматически изменить на UTF-8 кодировку
У меня стоит UTF-8
хочешь проверить поставилась ли кодировка, напиши chcp и нажми ENTER

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

Источник

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

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