Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Win7 64 chcp 65001 нет русской локализации команд (http://forum.oszone.net/showthread.php?t=337875)

LEmiD 24-11-2018 15:26 2842393

Win7 64 chcp 65001 нет русской локализации команд
 
Вложений: 1
Пишу батник, хотелось бы выложить его на гит чтоб тамже и просматривать коментарии. Поэтому решил попробовать utf8 в котором он работает.
Кириллический текст в консоле отображает, но все ответы команд написаны на английском.

батник в 866
Код:

@echo off
chcp 866
echo Текст
pause

вывод
Цитата:

Текущая кодовая страница: 866
Текст
Для продолжения нажмите любую клавишу . . .
тотже самый батник в utf8
Код:

@echo off
chcp 65001
echo Текст
pause

вывод
Цитата:

Active code page: 65001
Текст
Press any key to continue . . .
тестовые батники прикрепил

mwz 24-11-2018 16:53 2842396

Цитата:

Цитата LEmiD
Win7 64 »

Исходно версия какая: русская — или английская с русской локализацией?

При ручном вводе в консоли команды chcp 866 на каком языке ответ?

Iska 24-11-2018 17:58 2842403

У меня так же.

Цитата:

Цитата mwz
Исходно версия какая: русская — или английская с русской локализацией? »

Даже не знаю, что ответить ;). В моём понимании, «русская», это и есть — «локализованная версия». А «английская с русской локализацией» — это «американская версия с русским MUI». Так или иначе — первое.

Цитата:

Цитата mwz
При ручном вводе в консоли команды chcp 866 на каком языке ответ? »



C pause та же история.

mwz 24-11-2018 18:43 2842410

Цитата:

Цитата Iska
В моём понимании »

Ага, некорректно спросил... :sorry:


LEmiD
Собственно, мой вопрос снят: я мог бы и сам проверить, как это сделал Iska...

LEmiD 24-11-2018 19:26 2842420

Да в общем то тоже самое и это не предел.

Далее тестировал на виртуалке, тот ли дистрибутив не знаю.

chcp 65001 отменяет echo off ну может я не знал и так и надо.
Далее встречаются строки
@echo текст
И на второй половине кода echo off как раз работает.

Далее не отображается вывод echo внутри цикла if если он не выполняется, при этом выводится ошибка этой функции естественно на английском.
Если открыть этот файл в блокноте, изменить/сохранить, то кирилические знаки превращаются в крюкозябры и проблема с выводом if пропадает.
Перекодировал в 866 и всё заработало.

Очередной раз убеждаюсь что utf8 неработоспособна более чем полностью.
Возможно текст надо скопировать в новый пустой utf8 и тогда заработает, такие баги с батниками часто.
Но в общем то русский язык от этого не появится, пожалуй откажусь от попыток приделать эту кодировку


Время: 08:42.

Время: 08:42.
© OSzone.net 2001-