|
1 / 1 / 0
Регистрация: 12.11.2009
Сообщений: 109
|
||||||
Русский язык в командной строке04.09.2012, 19:37. Показов 148342. Ответов 84
Метки нет (Все метки)
Всем ку.
Проблема в заголовке, собственно: вместо русского языка в bat-нике командой echo, я вижу всякую кракозябру. Пробовал:
Ну никак просто. Кто знает, как починить? ![]() Во вложении скрин работы bat-ника
0
|
||||||
| 04.09.2012, 19:37 | |
|
Ответы с готовыми решениями:
84
Английский язык в командной строке русский язык в командной строке visual studio x64 Проверить, что в строке русский язык |
|
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
|
|||
| 07.12.2019, 20:32 | |||
|
Garry Galler,
0
|
|||
|
Нарушитель
7095 / 2326 / 353
Регистрация: 10.12.2013
Сообщений: 8,032
|
||
| 07.12.2019, 21:01 | ||
|
Я, помню, делал bat-гибрид то ли с c#, то ли с vb.net и при наличии русских литералов в исходнике в кодировке 866 он не компилировался. Вряд ли это можно засчитать за счастье.
1
|
||
|
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
|
|||||||
| 07.12.2019, 22:30 | |||||||
|
В блокноте можно сохранять в кодировку ANSI, что в восьмерке и делается по-умолчанию. Затем, при запуске батника, меняем шрифт на любой другой, поддерживающий кириллицу "Меню - свойства - Шрифт - Lucida Console". Всё, шрифт запоминается.
0
|
|||||||
|
|
||||
| 07.12.2019, 23:47 | ||||
|
В 21 веке люди все еще не умеют пользоваться поиском? (в 21 веке люди все еще используют батники, вместо powershell! Это еще более удивительно, но не будем заострять на этом внимание). Да, сам закрепленный туториал от Dragokas, возможно, немного стоило бы подкорректировать, добавив про магию смены установленных по умолчанию точечных шрифтов в cmd на Lucida Console или ему подобный TrueType шрифт. Хотя, в том или ином виде все эти сведения о проблемах с кириллицей и способах их обхода и так есть в разных закрепленных FAQ и множестве пользовательских тем. Пользователь YuS_2, в одной из таких тем как-то написал:
Просто люди их не читают. А снова и снова каждый раз создают новую тему, даже не попробовав воспользоваться поиском по форуму. И по гамбургскому счету читать нужно не эти форумные FAQ, которые, естественно, никогда не будут полными, а, например, Джоэла Спольски "Что нужно знать о Юникоде", для того чтобы подобные вопросы получили хоть какой-то фундамент в головах вопрошающих и избавили их от наивности и невежества в понимании кодировок.
0
|
||||
|
Нарушитель
7095 / 2326 / 353
Регистрация: 10.12.2013
Сообщений: 8,032
|
|||
| 08.12.2019, 00:28 | |||
|
Это что ещё за практика такая? Какие-то непонятные сферические люди, которым передают сферический файл для исполнения и при этом они должны пялиться в консольное окно на предмет появления там правильных русских букв? Ага. Что за бред? Если я сисадмин в организации, хотел бы взглянуть на того, кто, минуя меня, попробует передать шальному пользователю батник для самостоятельного исполнения. А если имеется в виду условная автономная домохозяйка, которая, помешивая борщ, должна что-то запустить на своём ноутбуке, то ей тоже не нужны консольные окна и русские буквы. И второе. Если ты ничего не умеешь делать, читай не можешь обеспечить появление желаемого результата на удалённом компьютере, значит не надо тебе пока ничего никуда передавать; сиди, учись.
0
|
|||
|
|
||
| 08.12.2019, 01:13 | ||
|
Таких примерно 90% в этом (или во всех?) разделе. Вот что мы ту все (отвечающие) делаем? Занимаемся либо психоанализом ( интерпретацией бессознательного (кода\мыслей) пациента), либо гештальт-терапией :-) Либо и тем и другим. И все мы что-то кому-то передаем. Мысли, опыт, знания... ну или батники, за неимением иной творческой валюты... Но снабжать каждого вопрошающего еще и полной инструкцией по применению и "серебряной пулей" (чтобы работало везде и всегда) терпения хватит не у всякого отвечающего. Ну да, можно еще вообще ничего делать... И пусть мир (юзеров) подождет...
0
|
||
|
Нарушитель
7095 / 2326 / 353
Регистрация: 10.12.2013
Сообщений: 8,032
|
|
| 08.12.2019, 01:16 | |
|
бумажки люди всё время друг другу передают, бумажки. и беспокоятся только о них. до момента смерти. а возможно, что и после.
0
|
|
|
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
|
|
| 08.12.2019, 10:35 | |
|
Garry Galler, из всего этого разговора, у меня возникает только один вопрос. В каких случаях UTF в консоли вызывает проблемы при использовании кириллицы? К примеру, для windows 7.
0
|
|
|
Нарушитель
7095 / 2326 / 353
Регистрация: 10.12.2013
Сообщений: 8,032
|
|
| 08.12.2019, 13:27 | |
|
Кириллица тут не при чём.
Сам по себе режим Юникода после chcp 65001 в консольном окне интерпретатора cmd имеет массу ошибок.
0
|
|
|
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
|
|
| 08.12.2019, 15:18 | |
|
volodin661, так а если все задачи в рамках работы с кириллицей, то проблем получается нет?
Добавлено через 11 минут Дело в том, что я не сталкивался с ошибками при использовании UTF-8 - echo - аргументы при запуске - ввод строки с помощью set /p - работа со строками с помощью for - файлы с именем на кириллице: copy, del, ren
0
|
|
|
Нарушитель
7095 / 2326 / 353
Регистрация: 10.12.2013
Сообщений: 8,032
|
|
| 08.12.2019, 15:36 | |
|
Я не могу взять на себя такую ответственность и сказать, что гарантирую отсутствие проблем )
Теоретически, если ввод/вывод cmd реализован с помощью Windows Console API* ( a, скорее всего, это так и есть ), то проблем быть не должно. Другое дело, что нет НИКАКИХ причин использовать для автоматизации через ком. строку cmd, если windows у тебя версии 7 и новее. (*) Другим вариантом, например, может быть ввод / вывод в приложении, использующим CRTL ( Run time библиотека языка C ) Добавлено через 4 минуты Я даже так скажу, если какое-то приложение использует Win Console API для ввода/вывода, то ему абсолютно фиолетово, какая там будет назначена кодовая страница в консоли, русские буквы будут всё равно видны. Готов это продемонстрировать.
1
|
|
|
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
|
||
| 08.12.2019, 15:51 | ||
|
И как же может библиотека Си?
0
|
||
|
Нарушитель
7095 / 2326 / 353
Регистрация: 10.12.2013
Сообщений: 8,032
|
|
| 08.12.2019, 16:12 | |
|
Про возможности в этом смысле, которые есть в PHP, я ничего тебе не расскажу. Не знаю.
Про Perl бы рассказал.
0
|
|
|
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
|
||||||||||||||||||||||||||
| 08.12.2019, 17:45 | ||||||||||||||||||||||||||
|
Я сейчас попробую резюмировать тему, потому как вопрос состоит в том, что возникают вопросы, что делать в том или ином случае. Из-за этого у ведущих и возникает протест.
Добавлено через 39 минут Примерно так. Если не прибегая к сторонним средствам, нужно использовать блокнот Windows с кириллицей, можно просто использовать код: - для кодировки ANSI (она же кодировка windows, win1251, cp1251)
При этом в версиях ниже Windows 10 с некоторыми оговорками. Возможные проблемы: Кликните здесь для просмотра всего текста
1. Windows 10 - не требует правок, просто сохраняем в блокнот, консоль определяет кодировку автоматически.
Единственное условие: сохраняемая кодировка в блокноте должна соответсвовать устанавливаемой chcp. 2. Windows 7-8.1 2а) если при запуске в консоле кракозябры, либо вместо echo выводит ошибку "The system cannot write to the specified device.", скорей всего установлен точечный шрифт Меняем его на любой TrueType с поддержкой кириллицы (например Lucida Console) "Меню - Свойства - Шрифт - Lucida Console" 2б) при сохранении в UTF-8 в данных системах блокнот добавляет в начало файла информацию о кодировке BOM (3 байта) При запуске в первой строке команда выполнится с ошибкой. В данном случае можно просто выполнить пропуск первой строки, либо зачистить вывод после ошибки. метод
3. При выполнении команд, либо вызове других скриптов в DOS кодировке нужно соответсвенно использовать переключение в 866:
Добавлено через 4 минуты Думаю, достаточно исчерпывающе привёл вопросы, остальное - детали
0
|
||||||||||||||||||||||||||
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
| 08.12.2019, 23:11 | |
|
2
|
|
|
|
|||
| 09.12.2019, 01:17 | |||
|
--------------------------------------------------------------------------- Вот вам и один из примеров глюкавого поведения cmd команд\утилит при попытке использования кодовой страницы 65001. Ответ на это поведение есть: (из топика по обсуждению ошибки Not enough memory на сайте microsoft):
Кажется, что использование кодовой страницы Unicode нарушает некоторые функции. Вполне вероятно, что команда more не была обновлена для поддержки многобайтовых наборов символов, поэтому, к сожалению, вам придется придерживаться другой кодовой страницы. Пофиксили ли это поведение more в windows 10? И одна ли more имеет такие проблемы?
0
|
|||
|
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|||||||||||
| 09.12.2019, 01:37 | |||||||||||
|
Garry Galler, там далеко не только more
например тут будет ошибка или даже вылет - не помню
0
|
|||||||||||
|
Нарушитель
7095 / 2326 / 353
Регистрация: 10.12.2013
Сообщений: 8,032
|
|
| 09.12.2019, 06:46 | |
|
Если посмотреть на утилиту more, которая падает стремительным домкратом с ошибкой Not Enough Memory,
то можно увидеть, что она more.com, а не more.exe. И сдаётся мне, что сей пейджер написан давным-давно на ассемблере и вовсе без учёта UTF-8, a лишь с учётом UCS-2 и ANSI. Вторым героем является команда copy, которая тоже падает, но не сразу и с диагностикой invalide handle и сдаётся мне, что вот она как раз не пользует WinConsole API, a задействует CRTL для ввода-вывода. Безупречной является лишь одна команда type.
0
|
|
|
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
|
||||||||||
| 09.12.2019, 12:06 | ||||||||||
|
Но только если это кодировка UTF, с ANSI таких проблем нет win7+. На крайняк я бы не использовал команду more для windows 7, а делал бы просмотр в том же блокноте например ))
0
|
||||||||||
|
6 / 7 / 0
Регистрация: 13.11.2016
Сообщений: 21
|
|||||||||||
| 09.12.2019, 15:27 | |||||||||||
|
повторю свой пост:
запускаем cmd открывается терминальное окно это окно управляется параметрами из реестра текущего пользователя - переменной %SystemRoot%_system32_cmd.exe в ветке HKEY_CURRENT_USER\Console\ строки из кода: - первый: размер шрифта 16 пикселей - второй: используем шрифт Lucida Console (он векторный и русский в консоле) еще можно накатить такое:
Добавлено через 6 минут ЗЫ. левый верхний угол .. потом идет смещение вправо- вниз
1
|
|||||||||||
| 09.12.2019, 15:27 | |
|
Русский язык в строке ошибок компилятора Xcode , С++ и русский язык: как вывести в файл русский текст без сбитой кодировки?
Русский язык Русский язык Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|