(Delphi) Знаки вопросов вместо русских букв/символов
Все, кто парсил русские сайты, рано или поздно сталкивался с такой ситуацией, когда вместо русских символов в исходном коде только знаки вопроса.
В данной ситуации Вам не помогут такие функции как: Utf8toAnsi, AnsiToUtf8, Utf8Encode, Utf8Decode !
Что бы исправить данную ситуацию Вам нужно использовать TStringStream вместо TStringList.
Например:
var
input: TStringStream;
data: string;
begin
input:=TStringStream.Create(data);
IdHTTP1.Get('http://mail.ru', input);
Memo1.Lines.Add(input.DataString);
end;
Если после данного метода у вас возвращается «кракозябры» (Почта), то следует сверху наложить Utf8toAnsi
В итоге получится следующий код:
var
input: TStringStream;
data: string;
begin
input:=TStringStream.Create(data);
IdHTTP1.Get('http://mail.ru', input);
Memo1.Lines.Add(Utf8ToAnsi(input.DataString));
end;
После всего Вы получите русские буквы в исходном коде страницы (см. скриншот).

Оставить комментарий Вы должны быть авторизованы, что бы оставить комментарий.
