Русские буквы в выводе на англ. винде

Только что поставил паскаль на новый комп с англ. win10 - и тут такая пакость:

image

Консоль ведь вроде поддерживает юникод, не знаете что ей не нравится?

Возможно, в “англ. win10” не прописана по дефолту русская страничка и она берет шрифт без кириллицы

В немецкой винде такой проблемы нет. Нужно установить русский язык по умолчанию.

При чём тут язык по умолчанию? Возможно действительно не хватает каких то языковых пакетов, к примеру шрифтов, но вроде всё установлено.

Мда, это надо было в самом начале попробовать…

    Console.OutputEncoding := Encoding.UTF8;

Эта строчка исправляет вывод русских букв. То есть проблема была как раз в том, что стандартный вывод это не юникод.

Что весьма странно

1 лайк

Ничего она не исправляет. Вообще надо уже вызывать окно PoweShell вместе этого досовского уродства. :wink:

Хотя и в PowerShell вопросики выдает. 21-й век…

Работает только после танцев с бубнами

begin
  Console.OutputEncoding := Encoding.UTF8;
  Console.WriteLine('танцы с бубнами');
end.

И надо установить шрифт Consolas или Lucida

Нет, всё дело было тут, в реестре:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage

OEMCP надо было поставить на 65001 и перезапустить комп. Теперь в любой консоли кодировка по-умолчанию - юникод.

1 лайк

Я сразу это написал:

При чём тут шрифт к кодировке? И то что вы сказали - всё равно не говорит что делать и не направляет в какую сторону искать.

1 лайк