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


#1

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

image

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


#2

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


#3

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


#4

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


#5

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

    Console.OutputEncoding := Encoding.UTF8;

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


#6

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


#7

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


#8

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


#9

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

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

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


#10

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage

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


#11

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


#12

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