TIdHTTP и кодировка сайта

Модератор: Модераторы

TIdHTTP и кодировка сайта

Сообщение ViruZ » 21.08.2012 17:36:09

Подскажите, пожалуйста, как методом Idhttp.Get(url) получить сайт в правильной кодировке? Уже второй день мучаюсь, много гуглил, но ничего толком не нашел. причем тот же код в Delphi7 грузит страницу корректно. Результат записывается в Memo. Сайт в кодировке UTF-8.
Windows XP SP3/Lazarus SVN/FPC 2.6.1
ViruZ
постоялец
 
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина

Re: TIdHTTP и кодировка сайта

Сообщение ViruZ » 23.08.2012 14:15:03

Добавлю дополнительные сведения.
В исходном коде сайта стоит кодировка
Код: Выделить всё
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Для загрузки сайта использую следующий фрагмент кода:
Код: Выделить всё
IdHTTP1.HandleRedirects:=true;
Memo1.Clear;
Memo1.Text:=idhttp1.Get(myurl);

Вместо кириллицы вижу знаки вопроса.
Кириллиц необходима для поиска ключевых слов на сайте для загрузки информции.
ViruZ
постоялец
 
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина

Re: TIdHTTP и кодировка сайта

Сообщение alex208210 » 23.08.2012 21:16:54

адрес сайта
alex208210
постоялец
 
Сообщения: 207
Зарегистрирован: 12.05.2010 13:16:51

Re: TIdHTTP и кодировка сайта

Сообщение ViruZ » 27.08.2012 12:09:41

alex208210 писал(а):адрес сайта

Скинул в личку
ViruZ
постоялец
 
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина

Re: TIdHTTP и кодировка сайта

Сообщение alex208210 » 27.08.2012 13:34:57

у меня сайт скачивается в правильной кодировке. (lazarus 0.9.30 fpc 2.4.2)

Если ничего не получается то подключай модуль lconvencoding и грузи сайт этим способами:
utf8toansi(idhttp1.Get(url));
ansitoutf8(idhttp1.Get(url));
koi8toutf8(idhttp1.Get(url));
utf8tokoi8(idhttp1.Get(url));
alex208210
постоялец
 
Сообщения: 207
Зарегистрирован: 12.05.2010 13:16:51

Re: TIdHTTP и кодировка сайта

Сообщение ViruZ » 27.08.2012 15:13:27

Спасибо! Буду пробовать.

Добавлено спустя 20 часов 55 минут 47 секунд:
Решил перейти с Indy на Synapse - теперь нормально грузит сайт!
Использовал следующий код:
Код: Выделить всё
mysite:=THTTPSend.Create;
if mysite.HTTPMethod('GET',mysiteurl) then begin
   Memo1.Clear;
   Memo1.Lines.LoadFromStream(mysite.Document);
end else ShowMessage('Somesing wrong! '+IntToStr(mysite.ResultCode))
ViruZ
постоялец
 
Сообщения: 175
Зарегистрирован: 30.05.2005 17:41:12
Откуда: Украина


Вернуться в Сети

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru