Кому надо - вот моя процедура по перегонке текста из Win1251 (например, текстовый файл, сохраненный в блокноте как ANSI) в UTF8.
Function Encode(a: string): string;
var len, ch: integer;
st: string;
begin
st:=''; len:=Length(a)-1;
for i:=0 to len do begin ch:=ord(GetChar(a,i));
if ch>126 then st:=st+chr(ch+1104) else st:=st+chr(ch); end;
Encode:=st;
end;