No sé si has solucionado tú problema, el caso es que me ha picado la curiosidad y he probado a ver si lo conseguía en delphi 5. He utilizado las jedi y los componentes tnt:
http://www.yunqa.de/delphi/doku.php/...controls/index
Consiguiendo cargar un fichero con caracteres rusos (utf8) en una listbox sin problema. Primero los cargo en utf8, despues convierto cada item con utf8towidestring, y los tnt se encargan de dibujar los caracteres correctos en lugar de ???????? que muestran los controles standard de delphi 5.
Código Delphi
[-]
procedure TForm1.btnCargaFicheroClick(Sender: TObject);
var
i:integer;
begin
TntListBox.items.loadfromfile('c:\rus.txt');
for i:= 0 to TntListBox.items.count-1 do
begin
TntListBox.items[i] := utf8towidestring(TntListBox.Items[i]);
end;
end;
Espero que sirva de ayuda.