|
1 / 1 / 0
Регистрация: 12.11.2009
Сообщений: 109
|
||||||
Русский язык в командной строке04.09.2012, 19:37. Показов 147688. Ответов 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
|
|||
|
6809 / 2307 / 350
Регистрация: 10.12.2013
Сообщений: 7,956
|
||
| 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
|
||||
|
6809 / 2307 / 350
Регистрация: 10.12.2013
Сообщений: 7,956
|
|||
| 08.12.2019, 00:28 | |||
|
Это что ещё за практика такая? Какие-то непонятные сферические люди, которым передают сферический файл для исполнения и при этом они должны пялиться в консольное окно на предмет появления там правильных русских букв? Ага. Что за бред? Если я сисадмин в организации, хотел бы взглянуть на того, кто, минуя меня, попробует передать шальному пользователю батник для самостоятельного исполнения. А если имеется в виду условная автономная домохозяйка, которая, помешивая борщ, должна что-то запустить на своём ноутбуке, то ей тоже не нужны консольные окна и русские буквы. И второе. Если ты ничего не умеешь делать, читай не можешь обеспечить появление желаемого результата на удалённом компьютере, значит не надо тебе пока ничего никуда передавать; сиди, учись.
0
|
|||
|
|
||
| 08.12.2019, 01:13 | ||
|
Таких примерно 90% в этом (или во всех?) разделе. Вот что мы ту все (отвечающие) делаем? Занимаемся либо психоанализом ( интерпретацией бессознательного (кода\мыслей) пациента), либо гештальт-терапией :-) Либо и тем и другим. И все мы что-то кому-то передаем. Мысли, опыт, знания... ну или батники, за неимением иной творческой валюты... Но снабжать каждого вопрошающего еще и полной инструкцией по применению и "серебряной пулей" (чтобы работало везде и всегда) терпения хватит не у всякого отвечающего. Ну да, можно еще вообще ничего делать... И пусть мир (юзеров) подождет...
0
|
||
|
6809 / 2307 / 350
Регистрация: 10.12.2013
Сообщений: 7,956
|
|
| 08.12.2019, 01:16 | |
|
бумажки люди всё время друг другу передают, бумажки. и беспокоятся только о них. до момента смерти. а возможно, что и после.
0
|
|
|
117 / 81 / 36
Регистрация: 30.07.2017
Сообщений: 371
|
|
| 08.12.2019, 10:35 | |
|
Garry Galler, из всего этого разговора, у меня возникает только один вопрос. В каких случаях UTF в консоли вызывает проблемы при использовании кириллицы? К примеру, для windows 7.
0
|
|
|
6809 / 2307 / 350
Регистрация: 10.12.2013
Сообщений: 7,956
|
|
| 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
|
|
|
6809 / 2307 / 350
Регистрация: 10.12.2013
Сообщений: 7,956
|
|
| 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
|
||
|
6809 / 2307 / 350
Регистрация: 10.12.2013
Сообщений: 7,956
|
|
| 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
|
|||||||||||
|
6809 / 2307 / 350
Регистрация: 10.12.2013
Сообщений: 7,956
|
|
| 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 | |
|
Помогаю со студенческими работами здесь
80
Русский язык в строке ошибок компилятора Xcode , С++ и русский язык: как вывести в файл русский текст без сбитой кодировки?
Русский язык Русский язык Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Гайд, как ворваться в вайб-кодинг в мае 2026
Noname2331 17.05.2026
Простите за получившееся полотно текста, я даже не знаю, как его разбить на главы. Тут, что называется, ни добавить ни убавить, одна сцена одним дублем.
На моих глазах недавно случилось чудо. Как. . .
|
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера»
Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит.
Придуман Биллом Госпером в 1970-х, опубликован в. . .
|
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb">
<style>
<!]>
</ style>
<g id="bush">
</ g>
</ svg>
function fn(){
let rost;/ / высота древа
let xx=165,yy=210,w=256;
|
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов,
содержащихся в реализации модуля. По-умолчанию все члены модуля доступны:
module Foo
let x = 10
let boo () = printfn "boo"
. . .
|
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|