Bat кодировка utf 8

Это просто! Надо всего лишь прочитать 100-500 мануалов по командной строке Windows и провести 200 экспериментов по написанию bat-скриптов)

Если серъёзно, то вывести файл с текстом в формате UTF-8 можно следующим образом

Кавычки в записи "%file%" нужны по той причине, что имя файла может содержать пробелы.

Мы вызываем CMD cо флагом /u , который сообщает, что запускаемая консоль должна возвращать результат в формате UTF-8.

Далее в этой же строке после флага /с мы передаём команду. Кстати, флаг /с означает, что после выполнения переданной команды, консоль закрывается.

Как можно заметить, мы передаём две команды, разделённых знаком | . Данный знак позволяет записать две нужных нам команды в одну строку.

Первая команда chcp 65001 устанавливает кодировку UTF-8 в запущенной консоли. (Чтобы узнать, какая текущая кодировка установлена в консоли, достаточно вызвать команду chcp без параметров.)

Вторая команда echo текст > "%HOME%\%file%" печатает соответствующий текст в файл с именем " %HOME%\%file% ", где имена переменных развёртываются в путь к домашней директории и имени файла .bash_login .

Хотелось бы узнать, каким способом в файлах с расширением .bat можно писать русским языком без иероглифов?

4 ответа 4

Только шрифт консоли нужно поменять на Lucida Console или Consolas

Файлы создаются в кодировке cp866 , поэтому надо задавать charset=cp866 .

Мне помогло следующее решение:

Вообще, вот отличная таблица современных кодировок для виндового терминала.

Так, chcp с параметром 1251 поставит русскую кодировку, т.е CP1251(Windows-1251) , а с параметром 65001 — интернациональную кодировку UTF-8.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками bat кодировка или задайте свой вопрос.

Похожие

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.1.10.35756

В данной статье пойдёт речь о кодировках в 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 будет скрыт псевдонимом.


[an error occurred while processing the directive]
Карта сайта