Mam "UTF-8", więc teoretycznie powinno być dobrze ...
No to niestety nie wiem jak robisz że Ci nie działa bo u mnie Utf8ToAnsi('katalog\łtf.txt')
działa dobrze w poniższym przykładzie:
Kopiuj
program Project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
var
sl:TStringList;
f:text;
begin
sl:=TStringList.Create;
sl.LoadFromFile(Utf8ToAnsi('C:\łtf.txt'));
assign(f,Utf8ToAnsi('C:\\łtf.txt'));
{$I+}
reset(f);
close(f);
end.
Kod wykonuje się bez problemów.
Po zmianie nazwy na taką jak podałeś również nie uświadczyłem problemów.
EDIT: Zauważyłem jeszcze że używasz CopyFile
jednak nie jestem w stanie dociec o jaki moduł chodzi gdyż Windowsowe CopyFile wymaga jeszcze jednego parametru i pcharów.
EDIT#2: Zgaduję że chodzi o moduł fileutil
(widzę że pytacz niestety nie wie jak poprawnie zadać pytanie [najprościej przez pokazanie przykładu który nie działa, ale w końcu to pytacz robi łaskę że pyta]). Więc kopiąc nieco wgłąb wychodzi że ten moduł na wejściu oczekuje UTF8 i sam konwertuje wszystko na odpowiednie parametry więc najprawdopodobniej ścieżki które podajesz nie są w UTF8 tylko np. część masz w ANSI a to co dodajesz jest w UTF8.