Меню Рубрики

Установка кодовой страницы в командной строке

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор очень хорошо описал принцип. ! Но это неудобно.
Нужно бы добавить. Если автор добавит это в статью то это будет Good.
Создаём файл .reg следующего содержания:
——
Windows Registry Editor Version 5.00

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

источник

Самый легкий способ исправить кодировку в cmd (командной строке), вместо кракозябр — русский шрифт.

Приветствую, буду очень рад, если смогу помочь в решении Вашей проблемы! Не понятен какой-либо фрагмент в этой статьей, пишите в комментариях, по Вашему запросу создам расширенный контент (новую статью, с картинками и пояснениями).

Однажды решил проверить свой компьютер на вирусы и не локальным вирусником, а попробовать в деле небольшую программку ComboFix, она самостоятельно находит вирусы и удаляет их. Но произошел вот такой казус, смотрите:

Мне надо было сразу просмотреть отчет ComboFix (она выдает отчет после проверки) там я увидел, что она удалила вирус. Нашел в интернете, какие проблемы этот вирус приносит, а потом почитал информацию по этой программе. Узнал, что именно после удаления данного вируса отображение русских символов в cmd изменилось.

Cmd.exe — это и есть командная строка или программа с текстовым интерфейсом, выглядит вот так:

И полез я в поисковик, мне самому стало интересно! Не представляете сколько я информации перерыл по этой теме. Но все инструкции были почти одинаковые — «нужно скачать такой то код и добавить его в реестр компьютера». Но я очень осторожно отношусь к таким советам, реестр это вообще серьезная часть операционной системы и лишний раз туда лучше не залазить.

Читайте также:  Установка kaspersky endpoint security для linux

Короче, убил на это дело почти весь день. Уже не помню на каком форуме, мне подсказали один способ, все очень просто — как дважды два! Сейчас все разложу Вам по полочкам, сами удивитесь как просто.

Вот по этому адресу живет командная строка: c:\WINDOWS\system32\cmd.exe

Чтобы ее запустить нужно нажать пару кнопочек: ПускВыполнить → вводим в поле команду – cmd и жмем ОК .

Вот способ: оказывается нужно было просто изменить шрифт в этом окне! Я убил целый день, чтобы найти эту информацию! Имею ввиду окно командной строки.

Щелкаете правой кнопкой мыши, вверху окна, в выпадающем меню выбираем «Свойство» , заходим во вкладу «Шрифт» и выбираем Lucida Console жмем ОК.

Все больше ничего мудрить не надо! Пользуйся на здоровье! Если Вам необходимо поменять кодировку текста, то вот следующая инструкция.

Посмотреть какая сейчас у Вас кодировка, вводим chcp и Вам выдаст Вашу кодировку. Для изменения кодировки делаем так:

где [код] это цифровой параметр нужного шрифта. Вот некоторые коды:

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

источник

Кодировки в Windows

В данной статье пойдёт речь о кодировках в Windows. Все в жизни хоть раз использовали и писали консольные приложения как таковые. Нету разницы для какой причины. Будь-то выбивание процесса или же просто написать «Привет. Я не могу сделать кодировку нормальной, поэтому я смотрю эту статью!».

Тем, кто ещё не понимает, о чём проблема, то вот Вам:

А тут было написано:

В любом случае в Windows до 10 кодировка BAT и других языков, не использует кодировку поддерживающую Ваш язык, поэтому все русские символы будут писаться неправильно.

1. Настройка консоли в батнике

Сразу для тех, кто пишет chcp 1251 лучше написать это:

Первый способ устранения проблемы, это Notepad++. Для этого Вам нужно открыть Ваш батник таким способом:

Не бойтесь, у Вас откроется код Вашего батника, а затем Вам нужно будет сделать следующие действия:

Если Вам ничего не помогло, то преобразуйте в UTF-8 без BOM.

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

Первый способ непосредственно Notepad++, но а если нужно сначала одну кодировку, а потом другую?

Сразу для использующих chcp 1251 пишите это:

Второй способ это написать десктопную программу, или же использовать Visual Studio. Если же не помогает, то есть первое: изменение кодировки вывода(Пример на C++).

3. Изменение chcp 1251
Если же у Вас батник, то напишите в начало:

Теперь у Нас будет нормальный вывод в консоль. На других языках (С++):

4. Сделать жизнь мёдом
При использовании данного способа Вы не сможете:

  • Разрабатывать приложения на Windows ниже 10
  • Спасти мир от данной проблемы
  • Думать о других людях
  • Разрабатывать десктопные приложения, так как Вам жизнь покажется мёдом
  • Сменить Windows на версию ниже 10
  • Ну и понимать людей, у которых Windows ниже 10

Установить Windows 10. Там кодировка консоли специально подходит для языка страны, и Вам больше не нужно будет беспокоиться об этой проблеме. Но у Вас появится ещё 6 проблем, и вернуться к предыдущей лицензионной версии Windows Вы не сможете.

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

источник

chcp chcp

Изменяет активную кодовую страницу консоли. Changes the active console code page. Если используется без параметров, параметр chcp отображает номер активной кодовой страницы консоли. If used without parameters, chcp displays the number of the active console code page.

В разделе Примеры показан принцип использования этой команды. For examples of how to use this command, see Examples.

Синтаксис Syntax

Параметры Parameters

Параметр Parameter Описание Description
Задает кодовую страницу. Specifies the code page.
/? /? Отображает справку в командной строке. Displays help at the command prompt.

В следующей таблице перечислены поддерживаемые кодовые страницы и их страны, регионы или языки. The following table lists each supported code page and its country/region or language:

Кодовая страница Code page Страна, регион или язык Country/region or language
437 437 Соединенные Штаты United States
850 850 Многоязычная (латиница I) Multilingual (Latin I)
852 852 Славянские (латиница II) Slavic (Latin II)
855 855 Кириллица (Русский) Cyrillic (Russian)
857 857 Турецкий Turkish
860 860 Португальский Portuguese
861 861 Исландский Icelandic
863 863 Канада — французский Canadian-French
865 865 Скандинавская Nordic
866 866 Русский Russian
869 869 Современный греческий Modern Greek
936 936 Китайский Chinese

Примечания Remarks

  • В окне командной строки, использующем растровые шрифты, правильно отображается только кодовая страница изготовителя оборудования (OEM), установленная вместе с Windows. Only the original equipment manufacturer (OEM) code page that is installed with Windows appears correctly in a Command Prompt window that uses Raster fonts. Другие кодовые страницы отображаются правильно в полноэкранном режиме или в окнах командной строки, в которых используются шрифты TrueType. Other code pages appear correctly in full-screen mode or in Command Prompt windows that use TrueType fonts.
  • Вам не нужно подготавливать кодовые страницы (как в MS-DOS). You do not need to prepare code pages (as in MS-DOS).
  • Программы, запускаемые после назначения новой кодовой страницы, используют новую кодовую страницу. Programs that you start after you assign a new code page use the new code page. Однако программы (кроме cmd. exe), запускаемые до назначения новой кодовой страницы, используют исходную кодовую страницу. However, programs (except Cmd.exe) that you start before you assign the new code page use the original code page.

Примеров Examples

Чтобы просмотреть текущую настройку кодовой страницы, введите: To view the active code page setting, type:

Появится сообщение следующего вида: A message similar to the following appears:

Чтобы изменить активную кодовую страницу на 850 (многоязычный), введите: To change the active code page to 850 (Multilingual), type:

Если указанная кодовая страница является недопустимой, появляется следующее сообщение об ошибке: If the specified code page is invalid, the following error message appears:

источник

Русский текст в консоли

Почему так происходит?
Консоль работает в кодировке DOS (codepage 866).
Блокнот Windows создает пакетный файл в кодировке WIN (codepage 1251).

Поэтому, когда Вы запускаете файл, консоль отображает его в своей (DOS) кодировке.

1 способ (сохранение файла в кодировке OEM-866):
Скачаем текстовый редактор, поддерживающий сохранение текста в кодировке OEM-866 (DOS) :

Чтобы создать новый файл в кодировке DOS:
Меню «Файл» -> «Сохранить как. » -> из выпадающего списка выбрать «Кодировка OEM-866«.
Файл должен иметь расширение bat или cmd.

Для себя я настроил AkelPad так, чтобы он всегда сохранял в кодировке OEM-866 (Настройки -> Параметры -> Кодировка по-умолчанию -> OEM-866.)

Скачать.
Сам пользуюсь вот такой модификацией что и Вам советую. Скачать.
Или качаем с официального сайта.

Чтобы правильно сконвертировать уже имеющийся в редакторе код с кириллицей :
Войти в редактор.
1) Ctrl+A, скопировать код.
2) Удалить код.
3) Меню «Кодировки» -> выбрать «Сохранить в DOS-866«.
4) Вставить код.
5) Сохранить, запустить.

Полезные горячие комбинации клавиш:
Запуск скрипта (Ctrl + F5)
На весь экран (F11)
Сохранить (Ctrl + S)
Открыть в кодировке WIN (Alt + W)
Открыть в кодировке DOS (Alt + D)

Чтобы создать новый файл в кодировке DOS:
Меню «Кодировки» -> «Кодировки» -> «Кириллица» -> «OEM-866»
«Файл» -> «Сохранить как. » -> пишем имя файла и расширение bat или cmd -> Сохранить.

Чтобы правильно сконвертировать уже имеющийся в редакторе код с кириллицей :
Войти в редактор.
1) Ctrl+A, скопировать код.
2) Удалить код.
3) Меню «Кодировки» -> «Кодировки» -> «Кириллица» -> «OEM-866»
4) Вставить код.
5) Сохранить, запустить.

Помните: в редакторе не должно быть видно «крякозябер», иначе это значит: Вы неправильно скопировали код.
В Windows Vista, 7 часто бывает, что код с форума «портиться» в буфере. Выход: когда копируете код, убедитесь, что включена русская раскладка клавиш.

2 способ (смена кодовой страницы):
Сменить кодовую страницу консоли.

А именно, в начале пакетного файла написать:

источник

Установка кодовой страницы в командной строке

Вопрос

Не могу понять, как разрешить проблему кодировки для русскоязычного текста при получении данных из команд, к примеру необходимо вывести только шлюз по умолчанию из команды — ipconfig | find «шлюз» в ответ тишина, а при ipconfig | find » IP » видим, что есть проблема с кодировкой.

Проблема только в windows xp .

Ответы

Всем спасибо, разобрался с проблемой. В общем она заключалась в том, что данные я выводил в вначале в текстовый файл, а уже из него пытался получить нужные мен данные, так вот в зависимости от кодировки cmd файла (866 или 1251) получалось вытащить данные либо на XP либо на 7 и не помогали танцы и с изменением chcp.

Сейчас в таком виде работает:

Все ответы

Кодировка в командной строке меняется с помощью команды chcp

Про chcp, я в курсе, но Ребят, смотрите внимательней на картинку. Почему поведение с кодировкой отличается в разных версиях Windows? Как прийти к единому виду, с нормальным решением?

Как прийти к единому виду?

Видимо поведение изменилось от версии к версии.

Таким образом если у вас все еще используется ХП то придется определять версию и искать разные строки.

Версию можно определить распарсив вывод команды ver. Для проверки версии проще всего использовать find с конкретной версией, после чего проверить errorlevel:

@echo off
ver | find «6.» >nul
if ERRORLEVEL 0 echo This is not XP.

This posting is provided «AS IS» with no warranties, and confers no rights.

источник

Кодировка в CMD

Тоже не выходит.Читал тему про русский язык в командных файлах.Оттуда собственно и пример.Но не работает.

Пытался через notepad++.Создавал файл в 866 кодировке.Такая же ерунда.

Как написать cmd создающий другой cmd
Добрый день. Смысл в том, чтобы создать CMD с настройками текущего ПК: имя компьютера и имя.

Запуск cmd файла с определенного места в его коде из другого cmd файла
Здравствуйте. Требуется команда для запуска батника с метки внутри него, а не с первой команды в.

Batch (CMD/BAT) несколько заданий на CMD/BAT
1.Напишите bat файл на диске с ,который будет искать на всех дисках файлы с расширением.

Отличие CMD в Windows 7 от CMD в Windows XP
Вообщем из за чего данная моя помощь отрабатывает в XP, но не работает в вин 7 .

Добавлено через 4 минуты
Garry Galler
Хм.Я вроде и так пробывал.Похоже я не на тот батник жал,после редактирования.

А это как победить в блокноте?

Добавлено через 5 минут
А почему в обще это так получается.
Все что я понял это то что окно в смд работает в 866 кодировке.А дальше я не понимаю.Блокнот сохраняет в кодировке 1251.
Что означает:
chcp 1251
chcp 866
Что происходит после этих команд.Только не надо говорить.что меняется кодировка.Я это и не понимаю.

Имелось ввиду то, что кодировки могут быть как однобайтовые, так и многобайтовые (на один символ — 2\4\6 байт).

Сохраняю.
Кликаю по сохраненному бат файлу.Запускается мой бат файл и вместо нормальных букв я вижу крокозябры.Хотя кодировку я поменял.

Потом.Если открыть окно смд через ярлык смд.И работая в окне изменить кодировку,а потом из того же окна запустить батник.То крокозябр нет.

С этого и надо было начинать.
Скорей всего так: у тебя в ярлыке на cmd запускается экземпляр консоли у которой в свойствах стоит шрифт Lucida Console, который кириллицу поддерживает. А при клике на батник запускается экземпляр консоли у которой стоит в свойствах точечный шрифт, который кириллицу не поддерживает.
Проверяй.

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

я, помню, исследовал этот вопрос;

если развёрнутый ответ, то так:
в принципе командами шрифт меняется,
но без последующей перезагрузки Уиндус эффекта нет.
=====
У меня была задача подсунуть Уиндус консольный monospace шрифт,
который бы показывал в консоли все диапазоны Юникода, как это есть в MacOS.

Но, увы, шрифт в системах одинаковый( одной и той же фирмы / версии / размера ),
только в MacOS всe диапазоны показывает, а в Windows видишь дулю с маком в виде знаков вопросов.

Добавлено через 2 минуты
Надеюсь, в десятке эту херню таки устранят.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Считывание данных с cmd windows 7(кодировка)
Пишу метод, его задача отправить команду в cmd и считать что она выведет. Вот сам код: public.

Посылка команды через cmd: кодировка
java программа просит ввести строку, после чего выполняет команду msg * «stroka» (выводит сообщение.

Некорректная кодировка в переменных при запуске скрипта Powershell из CMD
Добрый день! Столкнулся с очень странной ситуацией. Получаю через curl данные с веб-сайта на.

источник