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

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

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

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

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

Русский текст в CMD

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

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

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

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

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

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

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

cmd сменить кодировку

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

cmd смена кодировки

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

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

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

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

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

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

поменять кодировку cmd

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

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

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

поменять кодировку cmd

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

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

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

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

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


Комментариев:
6


Ответить
По поводу Notepad++ не догадывался. Спасибо за информацию.
Ответить
А вот как бы наоборот сделать: отобразить на экране файл, сохранённый в кодировке win1251?
    Ответить
    Для этого есть команда chcp 1251...
    Ответить
    Спасибо, oak.ex_! Действительно, это работает. Проверял так: (может, кому пригодится) Я создал файл обычный в кодировке windows-1251, назвал его «test.bat». Вот его содержимое (без чёрточек): -------------------------------------------------- @echo off chcp 1251 echo Сейчас этот файл напечатает на экране сам себя. type %0 pause -------------------------------------------------- Вот, что он напечатал на экране, когда я его запустил (опять, без чёрточек): -------------------------------------------------- Текущая кодовая страница: 1251 Сейчас этот файл напечатает на экране сам себя. @echo off chcp 1251 echo Сейчас этот файл напечатает на экране сам себя. type %0 pause Для продолжения нажмите любую клавишу . . . --------------------------------------------------
    Ответить
    То есть, после команды chcp 1251: 1. команда echo читала данные из bat-файла именно в этой кодировке 2. команда type читала данные из входящего файла тоже именно в этой кодировке.
Ответить
Предлагаю дополнить вариант с utf-8. 1. Врубаем в notepadd++ у файла кодировку UTF-8 2. Запускаем командную сроку в левом верхнем углу окна командной строки жмем на иконку левой кнопкой мыши. Затем свойства в выпадающем меню. 3. На вкладке шрифт выбираем "Lucida Console" и жмем ок. 4. теперь в файле в начале задаем кодировку chcp 65001 5. и теперь текст будет нормальной кириллицей с поддержкой Utf-8)

Оставить комментарий

Situs sbobet resmi terpercaya. Daftar situs slot online gacor resmi terbaik. Agen situs judi bola resmi terpercaya. Situs idn poker online resmi. Agen situs idn poker online resmi terpercaya. Situs idn poker terpercaya.

situs idn poker terbesar di Indonesia.

List website idn poker terbaik.

Situs agen slot terpercaya dan resmi