Иероглифы вместо русских букв windows 10 cmd

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


Windows

  • 09.06.2020
  • 61 445
  • 6
  • 150
  • 147
  • 3

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

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

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

Powershell

Теперь посмотрим текущую страницу кодировки (CP) в CMD

Те, кто имеют дело с командной строкой в Windows, знают, что шрифт и его цвет по-умолчанию не очень то подходят для продолжительной работы, например, системного администратора. Вам будет интересно узнать, что и сама Microsoft так думает 🙂 А потому, они включили в поставку Windows Vista и Office 2007 специальный шрифт Consolas, который и облегчит читаемость результатов выполненных в консоли команд.

Если у вас Windows XP и вы не устанавливали Office 2007, то такого шрифта у вас в системе, скорее всего, нет. Получить его можно очень просто — скачайте PowerPoint viewer с официального сайта Корпорации и вам его заботливо установят. Если у вас есть лицензия на Visual Studio, то набор шрифтов Consolas можно забрать тут.

Consolas-screenshot

Чтобы поменять шрифт с консоли, нужно «пошаманить» в регистре Windows. Открывайте в regedit такой путь HKLMSoftwareMicrosoftWindowsNTCurrentVersionConsoleTrueTypeFont и добавляйте строковый параметр (REG_SZ) с именем 00, а в поле Data впишите Consolas.

Fonts

После этого нужно перезагрузить компьютер и продолжать работу с новым шрифтом в консоли.

Command-prompt-font

via Change the Font of Command Prompt Window to Consolas For More Comfortable Reading

Как решить проблему с кодировкой шрифта в командной строке windows »

Как решить проблему с кодировкой шрифта в командной строке Windows »Иногда в интерпретаторе командной строки cmd.exe вместо русских букв выводятся непонятные символы (“кракозябры”, “сломался шрифт”). Как восстановить (поменять) кодировку текста? Последний раз автор заметки столкнулся с этой проблемой после добавления нужных шрифтов в папку C:WindowsFonts.

Как решить проблему с кодировкой шрифта в командной строке Windows »

Ниже – о простом и быстром, без коррекции системного реестра, способе избавиться от “кракозябликов” в командной строке (скриншоты от лица Windows 7).

cmd_1

Чтобы расшифровать кириллицу, запустим cmdWindows 10 через меню “Пуск” и “Все приложения“) → правой кнопкой мыши кликнем по верхней части окна → в выпавшем меню найдем “Свойства” → в одноименном окне на вкладке “Шрифт” сменим “Точечные шрифты” на любой другой → “ОК“.

cmd_2

При желании, для комфортного восприятия можно поиграть со шрифтами, их размером, жирностью (чекбокс “Жирный”, скриншот), а также размером курсора (вкладка “Общие“), расположением и размером окна (вкладка “Расположение“), цветом текста и фона как экрана, так и всплывающего окна консоли Windows (вкладка “Цвета“).

cmd_3

На последнем скриншоте – 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, а не какому то своему встроенному механизму.

После этих действий команда на смену кодировки успешно отработает

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

Добавил(а) microsin

  

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

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

cmd-normal-encoding-866

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

cmd-wrong-encoding-1251

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

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

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

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

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

cmd-normal-encoding-1251

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

[Шрифт cmd.exe]

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

[Ссылки]

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

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

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

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

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

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

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

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

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

Как настроить поддержку русского языка в терминале Linux

Добавляем поддержку русского языка в UbuntuDebian системах:

Установимобновим пакет locales:

После чего выполним команду:

Откроется диалоговое окно, в котором необходимо установить нужное значение региональных настроек (локали).

Добавьте в данном меню поддержку русского языка:

В данном случае к существующим мы добавляем ru_RU.UTF-8 .

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

Как я могу изменить язык в CMD?

На вкладке «Клавиатуры и язык» щелкните «Сменить клавиатуру». Щелкните Добавить. Разверните нужный язык.

Как изменить язык командной строки в Windows 10?

Открыть настройки. Перейдите в раздел «Время и язык». Слева нажмите на Регион и язык. Справа выберите язык, на котором вы хотите отображать Windows 10.

Как я могу изменить язык моего ПК на английский?

Изменить языковые настройки

  1. Открыть настройки.
  2. Щелкните Время и язык.
  3. Щелкните «Язык».
  4. В разделе «Предпочтительные языки» нажмите кнопку «Добавить язык». Источник: Windows Central.
  5. Найдите новый язык. …
  6. В результате выберите языковой пакет. …
  7. Щелкните кнопку Далее.
  8. Отметьте опцию Установить языковой пакет.

Какой язык программирования CMD?

CMD технически является языком сценариев оболочки, таким как bash, sh или csh. Это полезно для автоматизации задач, связанных с вызовом существующих программ из командной строки.

Как изменить язык клавиатуры в PowerShell?

Установить раскладку клавиатуры по умолчанию с помощью PowerShell

  1. Откройте PowerShell.
  2. Чтобы получить список доступных языков, введите или скопируйте и вставьте следующую команду: Get-WinUserLanguageList.
  3. См. Значение LanguageTag для каждого из языков.
  4. Выполните следующую команду, чтобы изменить порядок списка языков в Windows 10.

Как открыть экранную клавиатуру в CMD?

Щелкните Начать экранную клавиатуру. Нажмите клавиши Windows + R, чтобы открыть окно «Выполнить», или откройте командную строку. Введите osk и нажмите Enter. Это немедленно откроет экранную клавиатуру.

Как изменить язык отображения?

Измените язык отображения

Выбранный вами язык отображения изменяет язык по умолчанию, используемый такими функциями Windows, как «Настройки» и «Проводник». Нажмите кнопку «Пуск», затем выберите «Настройки»> «Время и язык»> «Язык». Выберите язык в меню языка отображения Windows.

Почему я не могу изменить язык отображения Windows?

Выполните всего три шага; вы можете легко изменить язык отображения в Windows 10. Откройте «Настройки» на своем ПК. Щелкните Время и язык, а затем перейдите в меню «Регион и язык». Нажмите «Добавить язык», чтобы найти нужный язык и загрузить его.

Как я могу изменить язык моего ноутбука?

  1. Щелкните Пуск, а затем щелкните Панель управления.
  2. В разделе «Часы, язык и региональные стандарты» щелкните Сменить клавиатуру или другие способы ввода.
  3. В диалоговом окне «Язык и региональные стандарты» нажмите «Сменить клавиатуру».
  4. В диалоговом окне «Текстовые службы и языки ввода» перейдите на вкладку «Языковая панель».

Могу ли я изменить язык Windows 10?

Выбранный вами язык отображения изменяет язык по умолчанию, используемый такими функциями Windows, как «Настройки» и «Проводник». Выберите Пуск> Параметры> Время и язык> Язык. Выберите язык в меню языка отображения Windows.

Как поменять язык обратно на английский?

Как изменить язык на Android

  1. Откройте приложение «Настройки» на своем устройстве Android.
  2. Коснитесь «Система».
  3. Коснитесь «Языки и ввод».
  4. Коснитесь «Языки».
  5. Нажмите «Добавить язык».
  6. Выберите нужный язык из списка, нажав на него.

Почему я не могу изменить язык в Windows 10?

Путь: клавиша Windows, настройки, время и язык, регион и язык. Если желаемого языка нет в списке, нажмите «Добавить язык», найдите его и загрузите. Тот же путь: клавиша Windows, настройки, время и язык, регион и язык. Щелкните нужный язык, а затем щелкните «Параметры».

Какая польза от CMD?

Что такое командная строка. В операционных системах Windows командная строка — это программа, которая имитирует поле ввода на экране текстового пользовательского интерфейса с графическим пользовательским интерфейсом Windows (GUI). Его можно использовать для выполнения введенных команд и выполнения расширенных административных функций.

Каковы основные команды Windows?

Здесь мы представляем основные команды, которые должен знать каждый пользователь Windows.

Команды командной строки Windows

Обновлено 14.02.2020

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

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

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

repadmin /replsummary > c:tempreplsummary.log

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

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

‚аҐ¬п § ЇгбЄ  бў®¤ЄЁ Ї® ९«ЁЄ жЁЁ: 2020-02-14 18:10:03

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

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

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

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

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

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

repadmin /replsummary > c:tempreplsummary.log

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

Исправление кривой кодировки через PowerShell

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

repadmin /replsummary | Out-File c:tempreplsummary.log

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

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

@echo off
chcp 855 (По умолчанию в командной строке стоит — 866 или 1251)

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

Настройка правильной кириллицы при экспорте текстового файла через командную строку

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

Применение кодировки 855 в сценариях командной строки

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

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

Идентификаторы кодовой страницы

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

REG ADD HKCUConsole%SystemRoot^%_system32_cmd.exe /v CodePage /t REG_DWORD /d 855

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

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

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

New-Item -ErrorAction Ignore HKCU:Console%SystemRoot%_system32_cmd.exe
Set-ItemProperty HKCU:Console%SystemRoot%_system32_cmd.exe CodePage 855

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

Надеюсь, что у вас теперь все будет в читаемом виде. На этом у меня все, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Содержание

  1. Кракозябры в командной строке cmd. Проблемы с кодировкой cmd.exe
  2. Спасшая статья:
  3. cmd вывод в файл кодировка
  4. Кракозябры при выводе результатов в файл из cmd
  5. Спасшая статья:
  6. Решения проблемы с кодировкой в CMD. 1 Способ.
  7. Решения проблемы с кодировкой в CMD. 2 Способ.
  8. Не корректно отображается Русский текст в CMD? Решение есть!
  9. Решения проблемы с кодировкой в CMD. 1 Способ.
  10. Решения проблемы с кодировкой в CMD. 2 Способ.
  11. Гарантированная локализация/русификация консоли Windows
  12. Введение
  13. Виды консолей
  14. Конфликт кодировок
  15. Проблемы консолей Visual Studio
  16. Локализация отладочной консоли Visual Studio
  17. Стратегия локализации приложения в консоли
  18. Кракозябры в командной строке cmd. Проблемы с кодировкой cmd.exe
  19. Dragonid

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

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

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

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

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

42

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

41

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

43

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

44

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

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

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

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

almix 1350459937

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

Источник

cmd вывод в файл кодировка

Про АйТи и около айтишные темы

Кракозябры при выводе результатов в файл из cmd

Командная строка (cmd.exe) – это один из основных инструментов системного администратора. Но у него есть недостаток. При выводе результата команды в текстовый файл в локализованной Windows, прочитать его содержимое не получится. Для примера вывел в файл справку программы ping:

chcp thumb

Перечитал кучу информации по этой теме, но нормального решения не нашел.

Остановился на варианте – переводить кодировку консоли в 855 (По умолчанию — 866), в которой все будет выводиться на английском языке. Перед выводом в файл ввожу в командную строку:

После этого все описания и комментарии к командам будут в оригинале, т.е. на английском. Чтобы вернуть кодировку по умолчанию, нужно указать кодировку 866, либо 1251 (Unicode – 65001).

Теперь при написании командных файлов (.bat), пишу в самом начале — chcp 855. Пример:

P.S. Вариант с переходом на шрифт Lucida Console и кодовую страницу 1251 мне не понравился. Он то срабатывает, то нет. Закономерности так и не заметил.

Нашли опечатку в тексте? Пожалуйста, выделите ее и нажмите Ctrl+Enter! Спасибо!

Хотите поблагодарить автора за эту заметку? Вы можете это сделать!

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

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

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

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

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

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

42

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

41

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

43

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

44

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

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

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

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

almix 1350459937

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

rating onrating onrating on rating halfrating off

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

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

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

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

1

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

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

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

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

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

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

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

21

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

3

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

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

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

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

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

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

4

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

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

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

5

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

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

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

Источник

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

rating onrating onrating onrating on rating off

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

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

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

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

1

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

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

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

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

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

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

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

21

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

3

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

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

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

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

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

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

4

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

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

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

5

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

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

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

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

Источник

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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9514774000f8bd2d454a8553cd36a1bfТабл. 1. Результат выполнения команды консоли Echo ffffff фффффф

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

a8a11a2d4a03e3cb91d64cfcfbeece05Табл. 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. Проблемы с кодировкой cmd.exe

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

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

97

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

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

96

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

98

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

99

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

Chcp

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

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

JBLosP4P 400x400 1 uwp avatar thumb

Dragonid

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

Источник

Понравилась статья? Поделить с друзьями:
  • Иероглифы в некоторых программах windows 10
  • Иероглифы в командной строке windows 10
  • Иероглифы в ворде как исправить windows 10
  • Иерархическая структура доменов системы windows server носящая общее имя называется
  • Иерархическая система ос windows это сеть