Не выводит кириллицу в текстовый файл .txt

Пишу на delphi 10.3, не знаю, почему выводит непонятные символы, вместо букв на кириллице. Помогите пожалуйста. Сам код:

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils, windows;

var
 a:array [1..3,1..3] of ANSIchar;
 i, j:integer;
 f1, f2: textfile;


begin
  setconsolecp(1251);
  setconsoleoutputcp(1251);
  assignfile(f1, paramstr(1));
  assignfile(f2, paramstr(2));
  reset(f1);
  rewrite(f2);
  for i := 1 to 3 do
    begin
      for j := 1 to 3 do
        read(f1, a[i,j]);
      readln(f1);
    end;
  for i := 1 to 3 do
    begin
      for j := 1 to 3 do
        write(f2, a[i,j],' ');
      writeln(f2);
    end;
  closefile(f1);
  closefile(f2);
end.

Ответы (1 шт):

Автор решения: androschuk

Можно посмотреть какая кодировка файла (например с помощью Notepad++), который передается в первом аргументе и явно установить тип кодировки при обращении к файлу.

Например для utf-8 будет работать следующее:

...
AssignFile(f1, paramstr(1), CP_UTF8);
...

Также можно воспользоваться Stream для работы с файлами. Вот еще примеры

Если не ошибаюсь setconsolecp и setconsoleoutputcp поможет только при выводе в консоль, Вы же работаете с файлом напрямую.

→ Ссылка