Не корректно отображается Русский текст в 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
[HKEY_CLASSES_ROOT\.bat\ShellNew]
«FileName»=»BATНастроенная кодировка.bat»
——
Выполняем.
——
Топаем в %SystemRoot%\SHELLNEW
Создаём там файл «BATНастроенная кодировка.bat»
Открываем в Notepad++
Вводим любой текст. (нужно!) Сохраняемся.
Удаляем текст. Меняем кодировку как сказано в статье. Сохраняемся.
———-
Щёлкаем правой кнопкой мыши по Рабочему столу. Нажимаем «Создать» — «Пакетный файл Windows».
Переименовываем. Открываем в Notepad++. Пишем батник.
В дальнейшем при работе с файлом не нажимаем ничего кроме как просто «Сохранить». Никаких «Сохранить как».
Источник
Русский язык в командной строке
Проблема в заголовке, собственно: вместо русского языка в bat-нике командой echo, я вижу всякую кракозябру.
Пробовал:
Английский язык в командной строке
Только что эксперементируя с кодировками, заметил прикол: если выставить кодировку 861 (Код: chcp.
русский язык в командной строке visual studio x64
Здравствуйте, знаю проблема не новая, но у меня почему то если компилить файл через саму IDE.
Проверить, что в строке русский язык C#
Есть строка, Как осуществить проверку строки посимвольно, то что каждый символ русская буква. Как.
Русский язык в строке ошибок компилятора
Подскажите, как изменить язык отчета об ошибках с английского на русский? Программа Dev C++. с.
Кстати, вот что надыбал: установочник баз для сервера Lineage. Батник, а словечки-то все русские
мб натолкнет на мысль, меня лично нет
Добавлено через 11 минут
Ну в-общем, все решилось.
Я юзал командную строку для запуска php-скрипта. Теперь любой вывод в окно терминала сопровождаю командой
А если из другого приложения (например, MS Visual Studio), то можно настроить конкретный экземпляр вызываемой им консоли под шрифт Lucida Console. Для этого нужно задать в том компиляторе команду на паузу консоли (pause). Затем правый клик по заголовку окна и меню «Свойства», «Шрифт».
При этом глобальная настройка шрифта для консольных приложений останется прежней (она настраивается через пункт «Умолчания»). В реестре на это отведены отдельные ветки.
ссылка удалена
перекодирует из WIN в DOS. то что тебе нужно.
Комментарий модератора | ||
|
Добавлено через 55 секунд
А если у тебя 1251, тогда в начало нужно chcp 1251
Исходные данные:
Сохраняю батник в 866-кодировке. Необходимо, чтобы батник писал в файл (делаю посредством echo) русские символы. Впоследствии этот файл открывается (обязательно!) блокнотом, как я понимаю в кодировке 1251.
Вопрос: что делать?
Как вариант выводить во внешний файл в кодировке Юникод:
Батник в кодировке 866.
Добавлено через 2 минуты
Еще как вариант, когда завершится работа батника, перекодировать внешний файл с 866 в другую кодировку любыми доступными средствами: Перекодировка (полезные скрипты).
Можно этим же способом:
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Английский язык для окна ввода пароля, русский язык для самой системы
собственно, сабж. у меня пароль на английском языке, при включении компьютера по умолчанию стоит.
Русский язык
Здравствуйте! Я практикуюсь в создании веб сайтов. Когда я писал сайт и тестировал его на локальном.
Русский язык
Как правильно через реестор настроить русский язык?
Русский язык
Нужно написать программу, которая исправляла бы ошибки после Ж,Ч,Ш,Щ(Ы,Я,Ю на И,А,У). Учитывая.
Источник
Русский язык в командной строке
Проблема в заголовке, собственно: вместо русского языка в bat-нике командой echo, я вижу всякую кракозябру.
Пробовал:
Английский язык в командной строке
Только что эксперементируя с кодировками, заметил прикол: если выставить кодировку 861 (Код: chcp.
русский язык в командной строке visual studio x64
Здравствуйте, знаю проблема не новая, но у меня почему то если компилить файл через саму IDE.
Проверить, что в строке русский язык C#
Есть строка, Как осуществить проверку строки посимвольно, то что каждый символ русская буква. Как.
Русский язык в строке ошибок компилятора
Подскажите, как изменить язык отчета об ошибках с английского на русский? Программа Dev C++. с.
Да, сам закрепленный туториал от Dragokas, возможно, немного стоило бы подкорректировать, добавив про магию смены установленных по умолчанию точечных шрифтов в cmd на Lucida Console или ему подобный TrueType шрифт.
Хотя, в том или ином виде все эти сведения о проблемах с кириллицей и способах их обхода и так есть в разных закрепленных FAQ и множестве пользовательских тем.
Пользователь YuS_2, в одной из таких тем как-то написал:
C чем я абсолютно солидарен.
Просто люди их не читают. А снова и снова каждый раз создают новую тему, даже не попробовав воспользоваться поиском по форуму.
И по гамбургскому счету читать нужно не эти форумные FAQ, которые, естественно, никогда не будут полными, а, например, Джоэла Спольски «Что нужно знать о Юникоде», для того чтобы подобные вопросы получили хоть какой-то фундамент в головах вопрошающих и избавили их от наивности и невежества в понимании кодировок.
А я абсолютно не солидарен.
Это что ещё за практика такая?
Какие-то непонятные сферические люди, которым передают сферический файл для исполнения и при этом
они должны пялиться в консольное окно на предмет появления там правильных русских букв?
Ага. Что за бред? Если я сисадмин в организации, хотел бы взглянуть на того, кто, минуя меня, попробует передать шальному пользователю батник для самостоятельного исполнения.
А если имеется в виду условная автономная домохозяйка, которая, помешивая борщ, должна что-то запустить на своём ноутбуке, то ей тоже не нужны консольные окна и русские буквы.
И второе.
Если ты ничего не умеешь делать, читай не можешь обеспечить появление желаемого результата на удалённом компьютере,
значит не надо тебе пока ничего никуда передавать; сиди, учись.
Источник
Кодировка в CMD
Тоже не выходит.Читал тему про русский язык в командных файлах.Оттуда собственно и пример.Но не работает.
Пытался через notepad++.Создавал файл в 866 кодировке.Такая же ерунда.
Как написать cmd создающий другой cmd
Добрый день. Смысл в том, чтобы создать CMD с настройками текущего ПК: имя компьютера и имя.
Запуск cmd файла с определенного места в его коде из другого cmd файла
Здравствуйте. Требуется команда для запуска батника с метки внутри него, а не с первой команды в.
Добавлено через 4 минуты
Garry Galler
Хм.Я вроде и так пробывал.Похоже я не на тот батник жал,после редактирования.
Добавлено через 7 минут
А это как победить в блокноте?
Добавлено через 5 минут
А почему в обще это так получается.
Все что я понял это то что окно в смд работает в 866 кодировке.А дальше я не понимаю.Блокнот сохраняет в кодировке 1251.
Что означает:
chcp 1251
chcp 866
Что происходит после этих команд.Только не надо говорить.что меняется кодировка.Я это и не понимаю.
Сохраняю.
Кликаю по сохраненному бат файлу.Запускается мой бат файл и вместо нормальных букв я вижу крокозябры.Хотя кодировку я поменял.
Потом.Если открыть окно смд через ярлык смд.И работая в окне изменить кодировку,а потом из того же окна запустить батник.То крокозябр нет.
С этого и надо было начинать.
Скорей всего так: у тебя в ярлыке на cmd запускается экземпляр консоли у которой в свойствах стоит шрифт Lucida Console, который кириллицу поддерживает. А при клике на батник запускается экземпляр консоли у которой стоит в свойствах точечный шрифт, который кириллицу не поддерживает.
Проверяй.
Потому что у меня (как и должно ) выводится нормально в обоих случаях.
я, помню, исследовал этот вопрос;
если развёрнутый ответ, то так:
в принципе командами шрифт меняется,
но без последующей перезагрузки Уиндус эффекта нет.
=====
У меня была задача подсунуть Уиндус консольный monospace шрифт,
который бы показывал в консоли все диапазоны Юникода, как это есть в MacOS.
Но, увы, шрифт в системах одинаковый( одной и той же фирмы / версии / размера ),
только в MacOS всe диапазоны показывает, а в Windows видишь дулю с маком в виде знаков вопросов.
Добавлено через 2 минуты
Надеюсь, в десятке эту херню таки устранят.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Считывание данных с cmd windows 7(кодировка)
Пишу метод, его задача отправить команду в cmd и считать что она выведет. Вот сам код: public.
Посылка команды через cmd: кодировка
java программа просит ввести строку, после чего выполняет команду msg * «stroka» (выводит сообщение.
Некорректная кодировка в переменных при запуске скрипта Powershell из CMD
Добрый день! Столкнулся с очень странной ситуацией. Получаю через curl данные с веб-сайта на.
Источник
Cmd не отображает русский язык
Абракадабра в файле выгруженным из командной строки
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию Pyatilistnik.org. В прошлый раз я вам подробно рассказывал, как диагностировать вашу систему, когда у вас нет интернета, судя по комментариям данный материал оказался полезным. Не так давно один из моих приятелей задал мне вопрос, почему при сохранении текстового файла с выводом результатов из командной стоки Windows у него вместо русского языка, отображается какая-то кракозябра. Давайте я покажу, как выкручиваться из данной ситуации.
Описание проблемы
Мой приятель делал диагностику репликации Active Directory и так как полученная диагностическая информация была объемной, он логично попытался сохранить ее в текстовый файл. Напоминаю делается, это вот по такой конструкции:
Тут > c:\temp\replsummary.log и есть функция вывода в файл.
При открытии файла он увидел вот такую абракадабры вместо русского текста:
Ќ з в бЎ®а ¤ ле ¤«п бў®¤ЄЁ Ї® ९«ЁЄ жЁЁ, Ї®¤®¦¤ЁвҐ:
.
€бе®¤л© DSA ЁЎ. ¤Ґ«мв бЎ®Ґў/ўбҐЈ® %% ®иЁЎЄ
Согласитесь, что это не очень красиво и читаемо.
Варианты устранения краскозябр в файле после экспорта из cmd
Первый вариант, это использование оболочки PowerShell. PowerShell умеет запускать большую часть утилит, к которым вы привыкли в командной строке, у него для этого есть алиасы в виде командлетов. Самое классное, что в отличии от cmd он сохраняет данные в нормальном виде, даже если они по русски. Для примера я выполню в PowerShell предыдущую команду;
В результате вы сразу можете оценить его преимущество и еще раз задуматься, чтобы использовать его.
Так же вы можете использовать командлет PowerShell под названием Out-File, он позволяет производить вывод полученных данных в виде файла, единственное не забываем указать нужное место, так же если места нет, вы его можете создать с помощью ключа -Force.
Если же вы хотите использовать именно командную строку, то вам необходимо перед вашей командой или в скрипте в самом начале выполнить вот эти строки:
В результате чего на выходе я получил положительный результат и никакой абракадабры вместо русского текста я не увидел.
Вот пример бат файла, где я использовал кодировку chcp 855.
Убираем кракозябры через реестр
В реестре Windows есть ветка «HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe», где вы можете создать ключ CodePage со значением 855. Напоминаю, что из себя представляют эти трехзначные цифры, обратите внимание, что 855 это именно кириллица (Дополнительно можно почитать https://docs.microsoft.com/en-us/windows/win32/intl/code-page-identifiers ).
В командной строке от имени администратора выполните команду по добавлению ключа:
Выглядеть это будет вот так
Так же создать ключ реестра можно и через PowerShell, вот такими командами:
Источник