Powershell
Теперь посмотрим текущую страницу кодировки (CP) в CMD
Измените шрифт в консоли windows для более удобной работы
Те, кто имеют дело с командной строкой в Windows, знают, что шрифт и его цвет по-умолчанию не очень то подходят для продолжительной работы, например, системного администратора. Вам будет интересно узнать, что и сама Microsoft так думает 🙂 А потому, они включили в поставку Windows Vista и Office 2007 специальный шрифт Consolas, который и облегчит читаемость результатов выполненных в консоли команд.
Если у вас Windows XP и вы не устанавливали Office 2007, то такого шрифта у вас в системе, скорее всего, нет. Получить его можно очень просто — скачайте PowerPoint viewer с официального сайта Корпорации и вам его заботливо установят. Если у вас есть лицензия на Visual Studio, то набор шрифтов Consolas можно забрать тут.
Чтобы поменять шрифт с консоли, нужно «пошаманить» в регистре Windows. Открывайте в regedit такой путь HKLMSoftwareMicrosoftWindowsNTCurrentVersionConsoleTrueTypeFont и добавляйте строковый параметр (REG_SZ) с именем 00, а в поле Data впишите Consolas.
После этого нужно перезагрузить компьютер и продолжать работу с новым шрифтом в консоли.
via Change the Font of Command Prompt Window to Consolas For More Comfortable Reading
Как решить проблему с кодировкой шрифта в командной строке windows »
Иногда в интерпретаторе командной строки cmd.exe вместо русских букв выводятся непонятные символы (“кракозябры”, “сломался шрифт”). Как восстановить (поменять) кодировку текста? Последний раз автор заметки столкнулся с этой проблемой после добавления нужных шрифтов в папку C:WindowsFonts.
Ниже – о простом и быстром, без коррекции системного реестра, способе избавиться от “кракозябликов” в командной строке (скриншоты от лица Windows 7).
Чтобы расшифровать кириллицу, запустим cmd (в Windows 10 через меню “Пуск” и “Все приложения“) → правой кнопкой мыши кликнем по верхней части окна → в выпавшем меню найдем “Свойства” → в одноименном окне на вкладке “Шрифт” сменим “Точечные шрифты” на любой другой → “ОК“.
При желании, для комфортного восприятия можно поиграть со шрифтами, их размером, жирностью (чекбокс “Жирный”, скриншот), а также размером курсора (вкладка “Общие“), расположением и размером окна (вкладка “Расположение“), цветом текста и фона как экрана, так и всплывающего окна консоли Windows (вкладка “Цвета“).
На последнем скриншоте – cmd.exe с темно-синим фоном. Кстати, всегда можно узнать текущую кодировку шрифта, набрав в консоли chcp→ “Enter” (по умолчанию это cp866 или DOS-кодировка).
Вывод
Как мы убедились, кодировки СMD и Powershell.exe совпадают, а ISE в свою очередь использует Windows-1251
Соответственно ISE ожидает что на вход ему и будут попадать символы в кодировке 1251, а по факту CMD пытается передать их в кодировке DOS — cp866
Решение
Решение достаточно простое — поменять используемую кодировку консоли ISE на cp866 командой:
После этого повторно выполняем нужную нам команду и получаем приемлемый результат
Вы можете получить ошибку следующего вида
Что бы смена кодировки применилась успешно, нужно предварительно выполнить любую CMD команду, которая вернет вам текстовый вывод кракозябрами.Опять же подойдет Ping, так как при вызове Ping Powershell сразу обращается к Legacy утилите из System32, а не какому то своему встроенному механизму.
После этих действий команда на смену кодировки успешно отработает