Не выводит кириллицу в текстовый файл .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 поможет только при выводе в консоль, Вы же работаете с файлом напрямую.