Кракозябры в командной строке cmd. Проблемы с кодировкой cmd.exe
Выполняю cmd и в нем set, хочу узнать USERNAME. Но оно показывается в непонятной кодировке.
chcp 866; chcp 1251; chcp 65001 — не помогали.
Оказывается надо в свойствах самого cmd выбрать шрифт Lucida Console. Только так можно получить нормальный текст на русском языке.
Спасшая статья:
Приложение cmd.exe – это командная строка или программная оболочка с текстовым интерфейсом (во загнул ).
Запустить командную строку можно следующим способом: Пуск → Выполнить → вводим в поле команду – cmd и жмем ОК. В итоге откроется рабочее окно программы – c:\WINDOWS\system32\cmd.exe. ( рис.1)
Если Вы занялись проблемой кодировки шрифтов в cmd.exe , то как запускать командную строку наверняка уже знаете
Перейдем собственно к проблеме: иногда вместо русских букв при выполнении команд выходит набор непонятных символов ( рис.2).
Первым делом нужно зайти в свойства окна – правой кнопкой щелкнуть по верхней части окна → Свойства → выйдет окно рис.3, здесь в поле Шрифтвыбираем Lucida Console и жмем ОК.
Теперь Вы получили нормальный текст на русском языке. Так же можно поменять текущую кодировку шрифта, для этого используется команда chcp. Набираем эту команду и жмем Enter, в результате получим текущую кодировку для командной строки – рис.4.
Для изменения кодировки так же применим chcp в следующем формате:
Где – это цифровой параметр нужного шрифта, например,
1251 – Windows (кириллица);
Выбирайте на любой вкус. Т.о. что бы изменить кодировку на UTF-8 нужно выполнить команду chcp 65001.
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Устранение неправильного вывода русских букв в консольном окне (утилита CMD) ОС Windows. Гештальт закрыт
К нам на радио часто приходят письма слушателей с жалобами на кракозябры,
появляющиеся в консольном окне при выполнение кода
отвечает наш постоянный ведущий Тимофей Таудин:
Проблема заключена в том, что в русском Уиндус кодировка исходного текста как правило «windows-1251»,
а консольное окно русского Уиндус изо всех сил ждёт русскую кодировку DOS cp866, посему и возникает сей эффект.
поэтому, чтобы правильно указать Перл, что ему в этом случае( сидим в 1251, а стандартный вывод в 866) делать, нужно
добавить в начало след. строчку:
соответственно, если среда редактирования в UTF-8, то
Добавлено через 26 минут
ВАЖНОЕ ДОПОЛНЕНИЕ:
в случае использования Перл5 версий > 5.18,
будет появляться след. предупреждение:
Use of the encoding pragma is deprecated
если вас это пугает, то the right way в этом случае — таки использовать utf-8 среду
и добавлять строки:
Инструкции для вывода в консольном окне
Есть такое задание Создать приложение, состоящее из трех потоков. Первый поток создает файл и.
Как называется язык программирования, на котором пишут команды в консольном окне cmd?
Как называется язык программирования, которым пишут команды в консоли (cmd) ?
Программа для вывода русских букв
Добрый день форумчане. Есть программа взятая с учебника, мной не однократно проверенная, на.
Почему вместо вывода русских букв выводится ? ?
При запуске в IntelliJ IDEA программы с выводом на экран фразы на русском (через.
всё вышенаписанное стоит учитывать, если вы таки намерены использовать use utf8;
при написании своих Perl-программ.
если же всё что вам надо — это отладка перл-скриптов, используя консольное окно CMD,
тогда, если у вас русский виндус, его не отравит соседсамое разумное сказать один раз
в этом консольном окне chcp 1251 и наступит тихое счастье по причине полного совпадения кодировки по умолчанию
во всех компонентах ОС Windows ( текстовых редакторов, имён файлов файловой системы, подсистемы ввода-вывода ).
аналогичный вариант — добавить `chcp 1251`; в свой скрипт в любом месте перед первым оператором вывода.
Дополнение
( ещё одно )
Если всё же очень нужны полновесные Unicode-символы в консоли,
то однобайтная кодировка 1251 не спасает,
придётся в cmd-консоли переключаться в utf-8 ( chcp 65001 )
Но на выходе получается полная фигня( строчки рвутся и дублируются ). Скорее всего это Windows-bug, пока не исследовал.
маленькое теоретическое отступление:
в ядре Perl есть так называемые I/O Layers,
с помощью которых прозрачно осуществляется различные трансформации при вводе-выводе
( такие как перекодировка, добавление CRLF, шифровка-дешифровка итд )
эти слои для своих целей можно подключать, отключать, менять местами.
для манипуляции слоями могут использоваться операторы use, require, binmode, open.
уже имеющиеся внутри слои:
«unix» «perlio» «crlf» «mmap» «pending» «raw» «utf8»
некоторые из них «пустые» — например raw и utf8. пустые в том смысле, что они просто меняют местами слои на I/O стэке.
безусловно, можно добавлять и свои слои.
Итак, нашлось вот такое решение:
если определить слои в следующем порядке:
:unix :encoding(utf8) :crlf
то получается вполне удовлетворительный результат с выводом Unicode-символов;
(Консоль предварительно переключаем в 65001)
binmode STDOUT, «:unix:encoding(utf8):crlf»
# могут выскакивать квадратики вместо символов, это означает, что в truetype-шрифте Lucida Console он неопределён.
проверял на Windows XP SP3. на 7-ке и далее не проверял.
Русский язык в командной строке
Проблема в заголовке, собственно: вместо русского языка в bat-нике командой echo, я вижу всякую кракозябру.
Пробовал:
Английский язык в командной строке
Только что эксперементируя с кодировками, заметил прикол: если выставить кодировку 861 (Код: chcp.
русский язык в командной строке visual studio x64
Здравствуйте, знаю проблема не новая, но у меня почему то если компилить файл через саму IDE.
Проверить, что в строке русский язык C#
Есть строка, Как осуществить проверку строки посимвольно, то что каждый символ русская буква. Как.
Русский язык в строке ошибок компилятора
Подскажите, как изменить язык отчета об ошибках с английского на русский? Программа Dev C++. с.
Кстати, вот что надыбал: установочник баз для сервера Lineage. Батник, а словечки-то все русские
мб натолкнет на мысль, меня лично нет
Добавлено через 11 минут
Ну в-общем, все решилось.
Я юзал командную строку для запуска php-скрипта. Теперь любой вывод в окно терминала сопровождаю командой
Ну если посредством самого батника — то именно так: сохраняем сам файл CMD в 866 кодировке. Никогда не подведет. Действие аналогичное «mb_convert_encoding».
А если из другого приложения (например, MS Visual Studio), то можно настроить конкретный экземпляр вызываемой им консоли под шрифт Lucida Console. Для этого нужно задать в том компиляторе команду на паузу консоли (pause). Затем правый клик по заголовку окна и меню «Свойства», «Шрифт».
При этом глобальная настройка шрифта для консольных приложений останется прежней (она настраивается через пункт «Умолчания»). В реестре на это отведены отдельные ветки.
ссылка удалена
перекодирует из WIN в DOS. то что тебе нужно.
Комментарий модератора | ||
|
Добавлено через 55 секунд
А если у тебя 1251, тогда в начало нужно chcp 1251
Исходные данные:
Сохраняю батник в 866-кодировке. Необходимо, чтобы батник писал в файл (делаю посредством echo) русские символы. Впоследствии этот файл открывается (обязательно!) блокнотом, как я понимаю в кодировке 1251.
В результате:
Меняю страницу в батнике: chcp 1251>nul. Если пишу в консоль — все ок, если в файл — там кракозябры (в блокноте; если в акелпаде, а потом сменить страницу — тоже ок).
Вопрос: что делать?
Как вариант выводить во внешний файл в кодировке Юникод:
Батник в кодировке 866.
Добавлено через 2 минуты
Еще как вариант, когда завершится работа батника, перекодировать внешний файл с 866 в другую кодировку любыми доступными средствами: Перекодировка (полезные скрипты).
Можно этим же способом:
Тематические курсы и обучение профессиям онлайн Профессия Cпециалист по кибербезопасности (Skillbox) DevOps-инженер (Нетология) Профессия DevOps-инженер PRO (Skillbox) |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Xcode , С++ и русский язык: как вывести в файл русский текст без сбитой кодировки?
Как сделать так, чтобы после некоторых манипуляций в файл выводился русский текст без сбитой.
Английский язык для окна ввода пароля, русский язык для самой системы
собственно, сабж. у меня пароль на английском языке, при включении компьютера по умолчанию стоит.
Русский язык
В общем у меня такая проблема , имеется код , в котором нужно что бы выводились русские буквы.
Русский язык
Здравствуйте! Я практикуюсь в создании веб сайтов. Когда я писал сайт и тестировал его на локальном.
Русский язык
Как правильно через реестор настроить русский язык?
Русский язык
Нужно написать программу, которая исправляла бы ошибки после Ж,Ч,Ш,Щ(Ы,Я,Ю на И,А,У). Учитывая.
Русский текст в консоли
мы получим «абракадабру»:
Почему так происходит?
Консоль работает в кодировке 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 способ (смена кодовой страницы):
Сменить кодовую страницу консоли.
А именно, в начале пакетного файла написать:
Крякозябры вместо русских букв в командной строке
Вместо русских букв в командной строке отображаются какие то каракули (система Windows 7 Starter). Как это исправить? Лазил в Языки и региональные стандарты, там вроде все в порядке
Добавлено через 4 часа 59 минут
Ребят, неужели не в курсе никто? Частично проблему исправил путем команды chcp 866, но при перезапуске все тоже самое, каждый раз приходится вручную ставить. Что делать?
При чтении каких-то значений на русском языке из INI файла вместо русских букв появляются крякозябры, когда с
При чтении каких-то значений на русском языке из INI файла вместо русских букв появляются.
TabPage.Text из HTML тега и «крякозябры» вместо русских букв
Здравствуйте! Мне нужно загрузить tabPage.Text из HTML тега . Пробовал так: WebClient.
Крякозябры вместо русских буква при чтении из INI файла
При чтении каких-то значений на русском языке из INI файла вместо русских букв появляются.
Крякозябры в командной строке
Всем доброго времени суток. Возникла следующая проблема: некорректно отображаются сообщения на.
Код:
Windows Registry Editor Version 5.00
нажми win+R в поле выполнить напиши cmd, там в сверху где путь указан в рамке самой нажми правой кнопкой мыши «Свойства» далее в шрифт поставь Lucida Console размер 12 ну или какой тебе удобно будет. Всё теперь у тебя русские символы нормально показываться будут. Так же к дополнению если хочешь поменять кодировки командной строки напиши
Пиши chcp 1251 и он автоматически изменить на 1251 кодировку
Пиши chcp 866 и он автоматически изменить на 866 – DOC-кодировку
Пиши chcp 65001 и он автоматически изменить на UTF-8 кодировку
У меня стоит UTF-8
хочешь проверить поставилась ли кодировка, напиши chcp и нажми ENTER
1251 – Windows (кириллица);
866 – DOC-кодировка;
65001 – UTF-8;