Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 471

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Есть такой исходный текст
var
URL, error: string;
s:TstringList;
HTTP: TIdHTTP;
begin
HTTP:=TIdHTTP.Create(nil);
HTTP.HandleRedirects:=True;
URL:='http://pda.gismeteo.ru/';
S:=TStringList.Create; //Создаём TStringList
try
begin
S.Text:=HTTP.Get(URL); //Записываем в него то, что загрузили
s.text:=Utf8ToAnsi(s.text);
Memo1.Text:=s.text;
end
except
on E: Exception do
begin
error:=E.Message;
end;
end;
s.Free;
HTTP.Free;
end;

стоит windows 7 и Delphi 2007
все работает ок
поставил 2010
и что на выходе в мемо
вместо руских аброкадабры
убираю строку s.text:=Utf8ToAnsi(s.text);
и все ок
но теперь те страници которые html code windows 1251 аброкадабры и как их перевести в читаемый вид в delphi 2010

помогите, спасибо

Alexey Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Alexey (статус: Посетитель)
Вопрос отправлен: 2 декабря 2009, 12:29
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 6; последнее сообщение — 2 декабря 2009, 16:44; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 2 декабря 2009, 12:55 [#1]:

по логике вещей - поспользоваться функцией AnsiToUTF8
Галочка "подтверждения прочтения" - вселенское зло.
Alexey

Alexey (статус: Посетитель), 2 декабря 2009, 15:37 [#2]:

по логике так, но на практике, те же абракадабры
Вадим К

Вадим К (статус: Академик), 2 декабря 2009, 15:41 [#3]:

Хотя логично. потому что там происходит несколько лишних преобразований.

зачем писать так
S.Text:=HTTP.Get(URL);
если можно завести переменную типа string и писать напрямую туда...
Галочка "подтверждения прочтения" - вселенское зло.
Alexey

Alexey (статус: Посетитель), 2 декабря 2009, 15:57 [#4]:

каким образом и в чем разница
Вадим К

Вадим К (статус: Академик), 2 декабря 2009, 16:04 [#5]:

а что , думаем, что при присваивании s.text :='что то'
ничего не происходит? ой-ой.

Наиболее правильно в данном случае скачать в буфер (TMemoryStream к примеру) и потом, проанализировав его, преобразовать к нужному формату.
Галочка "подтверждения прочтения" - вселенское зло.
Alexey

Alexey (статус: Посетитель), 2 декабря 2009, 16:44 [#6]:

ой-ой понятно, помогите как это на практике сделать, если можно

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:25
Выполнено за 0.02 сек.