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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

Chcp

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

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

кракозябры в командной строке windows 10. JBLosP4P 400x400 1 uwp avatar thumb. кракозябры в командной строке windows 10 фото. кракозябры в командной строке windows 10-JBLosP4P 400x400 1 uwp avatar thumb. картинка кракозябры в командной строке windows 10. картинка JBLosP4P 400x400 1 uwp avatar thumb. Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.

Dragonid

Меня зовут Владимир, и я являюсь разработчиком сайта и YuoTube-канала «Помощь с компьютером». Моя цель помогать всем у кого возникают проблемы или вопросы, связанные с ПК. Я стараюсь развиваться всесторонне и люблю получать новые знания. Знать всё невозмо Смотреть все записи автора Dragonid

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

кракозябры в командной строке windows 10. krakozyabry v fayle iz cmd 05. кракозябры в командной строке windows 10 фото. кракозябры в командной строке windows 10-krakozyabry v fayle iz cmd 05. картинка кракозябры в командной строке windows 10. картинка 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 ).

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

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

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

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

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

Источник

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

кракозябры в командной строке windows 10. a8a11a2d4a03e3cb91d64cfcfbeece05. кракозябры в командной строке windows 10 фото. кракозябры в командной строке windows 10-a8a11a2d4a03e3cb91d64cfcfbeece05. картинка кракозябры в командной строке windows 10. картинка 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++;

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

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

Источник

Не корректно отображается Русский текст в CMD? Решение есть!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

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

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