Arquivo Inno Setup Reading na codificação Ansi e Unicode

Eu tenho uma função chamadaGetServerName. Preciso passar o nome do arquivo (digamos, por exemplo, 'test.txt'), bem como uma string de seção necessária (digamos, por exemplo, 'servidor')

otest.txt arquivo é contém algo parecido com isto

data1 | abcd
data2 | efgh
server| 'serverName1'
data3 | ijkl

Eu preciso extrair o nome do servidor, então na minha função eu vou passar algo comoGetServerName('test.txt', 'server') e deve retornarserverName1.

Meu problema é que otest.txt era um arquivo codificado por ANSI anteriormente. Agora, ele pode ser um arquivo codificado em ANSI ou codificado em Unicode. A função abaixo funcionou corretamente para o arquivo codificado em ANSI, mas com problema, se o arquivo estiver codificado em UNICODE. Eu suspeito que algo comLoadStringsFromFile função. Porque, quando depuro, pude ver que ele retorna caracteres Unicode em vez de caracteres legíveis por humanos. Como resolver meu problema simplesmente? (ou como encontrar o tipo de codificação do meu arquivo e como converter a string UNICODE em ANSI para comparação, então eu mesmo posso fazer isso)

function GetServerName(const FileName, Section: string): string;
//Get Smartlink server name
var
  DirLine: Integer;
  LineCount: Integer;
  SectionLine: Integer;   
  Lines: TArrayOfString;
  //Lines: String;
  AHA: TArrayOfString;
begin
  Result := '';
  if LoadStringsFromFile(FileName, Lines) then
  begin
    LineCount := GetArrayLength(Lines);
    for SectionLine := 0 to LineCount - 1 do
    begin
      AHA := StrSplit(Trim(Lines[SectionLine]), '|')
      if AHA[0] = Section then
      begin
       Result := AHA[1];
       Exit;
      end
    end
  end;
end;
Editar

No Windows, quando eu salvar como arquivos de texto. Recebo 4 opções conforme anexado na imagem. Eu encontrei, o Windows menciona unicode comoUTF-16LE codificação (pouco confuso)

questionAnswers(1)

yourAnswerToTheQuestion