nagon.net - бесплатная поставка трафика на ваши сайты
Логин:
Пароль:
Регистрация





Убрать рекламу с сайта чтобы не мешала!

IdHTTP проблемы с кодировкой. Get Post и кодировка UTF-8. Delphi приходит ответ в не правильной кодировке.

В версиях делфи выше Delphi 7 привыйчный запрос вида

str:=IdHTTP1.Get('http://google.ru/');

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


var
dump:TStream;
dump_txt:TStringList;
get_txt,get_url:string;

///////////////////////////////////////
dump_txt:=TStringList.Create;
dump:=TMemoryStream.Create;

get_url:='http://google.ru/';
if Pos('http://',get_url)<>1 then
begin
get_url:='http://'+get_url;
end;

try
IdHTTP1.Get(get_url,dump);
except
ShowMessage('Сервер не отвечает, может отключен интернет? Перезапустите программу.');
close;
exit;
end;

dump.Seek(0, soFromBeginning);

dump_txt.LoadFromStream(dump);
dump.Free;

if Pos('1251',IdHTTP1.Response.ContentType)<>0 then
begin
get_txt:=dump_txt.Text;
end
else
begin

if Pos('charset=windows-1251',dump_txt.Text)<>0 then
begin
get_txt:=dump_txt.Text;
end
else
begin
get_txt:=Utf8ToAnsi(dump_txt.Text);
end;

end;

dump_txt.Free;

Memo1.text:=get_txt;
///////////////////////////////////////


Этот код автоматически устанавливает кодировку и преобразует ответ в нужную.
2012-06-09 22:40:38: INGUSHMEN
А нельзя просто:
Memo1.Text:=Utf8toAnsi(IdHTTP1.Get('siteonm - спам запрещен '));

Легче ничего нет)
Вас зовут:

Ваш комментарий:


Код на картинке: