(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;
После всего Вы получите русские буквы в исходном коде страницы (см. скриншот).
Оставить комментарий авторизованы, что бы оставить комментарий.
Вы должны быть