Open alexkmbk opened 6 years ago
По идее кириллица должна нормально выводится при chcp 65001
По идее кириллица должна нормально выводится при chcp 65001
Да, так и есть, но у меня в конкртеном случае (в силу определенных причин) по дефолту в консоли стоит другая. Возможно моя проблема очень редкая.
Какая у вас ос?
windows 10 pro
https://msdn.microsoft.com/en-us/library/system.console.outputencoding(v=vs.110).aspx - можно проверять и ставить правильную кодовую страницу.
Это наверное даже больше в движок. @EvilBeaver?
Это скорее к микрософту, чем ко мне. Если предлагаемое решение звучит, как:
"Определить текущую кодировку консоли, и если она не может выводить русский то задать такую кодировку, которая сможет выводить русский", то я пас.
И пас я из-за строчки, выделенной жирным. У меня пробелы в образовании, я не знаю, как надежно проверить данное условие.
Хотя, с удовольствием приму пулреквест.
Кстати, в oscript.cfg был параметр, который регулирует выхлоп односкрипта по умолчанию. И даже ключ запуска -encoding= есть.
@EvilBeaver Но мы ведь точно знаем какие кодировки поддерживают кириллицу, а какие нет, я их все на память не приведу сходу, но их число конечно, а самые популярные так это должны быть 65001 и 1251
@alexkmbk Вопрос наверно не в тему... Но зачем вообще использовать CMD, когда в винде он заменен на повершел? Нравится страдать? )))
В павершеле тоже не все гладко с кодировками.
@alexkmbk проблема в том, что узнать уже установленную кодировку консоли толком нельзя из шарпа. Если приложение стартовало из консоли с кодировкой А, то приложение про это не знает. Я помню экспериментировал с этим и внятного результата не получил. Повторюсь, возможно, мне просто не повезло. Для решения задачи из первого поста рекомендую заюзать ключик -encoding или задать его глобально в конфиге oscript.cfg
@EvilBeaver Все там гладко. Просто использовать нужно юникод всегда
ps Вообще не пересекаюсь с 1251 и не понимаю на кой с ней вообще возиться в 2018 году
@tsukanov-as в условии задачи от @alexkmbk сказано что нельзя юникод и на то есть причины.
@EvilBeaver Ну мое дело вбросить. Страдать или нет это личный выбор каждого )
Мне помогло:
Прикладываю скриншот с проблемой.
Можно конечно в ручную поменять кодовую страницу командой CHCP 1251, но может быть есть более крутое решение на уровне самого opm?
Я предлагаю выводить справочную инфу на английском в случае, если не CP 1251 или Windows не русифицированная.