Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2014, 17:58   #1
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию Кодировка при получении кода с webbrowser

Доброго времени суток, есть Webbrowser и с него я получаю исходный код таким образом

Код:
       function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
var ps: IPersistStreamInit;
      ss: TStringStream;
      sa: IStream;
      s: string;
begin
ps := WebBrowser.Document as IPersistStreamInit;
s := '';
ss := TStringStream.Create(s);
try
sa := TStreamAdapter.Create(ss, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
if Result then ACode.Add(ss.Datastring);
finally
ss.Free;
end;
end;
И загружаю его в MEMO для обработки...
Код:
WB_GetHTMLCode(Webbrowser2, Memo1.Lines);
В исходном коде есть русские слова и проблема с кодировкой... Хотя если взять этот исходный код таким образом

Код:
Memo1.text:=Utf8ToAnsi(IdHTTP1.Get(''));
то все нормально отображает...
Подскажите как взять исходный код чтоб был таким же как я и брал методом гет? то есть с кодировкой UtftoAnsi?
99% ошибок компьютера сидит в полуметре от монитора.
Fahman вне форума Ответить с цитированием
Старый 21.10.2014, 18:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
if Result then ACode.Add(Utf8ToAnsi(ss.Datastring));
не?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.10.2014, 19:12   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Подскажите как взять исходный код чтоб был таким же как я и брал методом гет?
Никак. Веб-браузер банально его модифицирует, поправляет и меняет за счет javascript на странице.

Сравните то что приходит от Get http://google.com и что реально есть в исходном коде страницы.
Человек_Борща вне форума Ответить с цитированием
Старый 21.10.2014, 20:13   #4
Fahman
Форумчанин
 
Аватар для Fahman
 
Регистрация: 03.04.2013
Сообщений: 703
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
if Result then ACode.Add(Utf8ToAnsi(ss.Datastring));
не?
Ес офкорс))) Это то что надо, спасибо все нормально)

Просто нет слов

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Никак. Веб-браузер банально его модифицирует, поправляет и меняет за счет javascript на странице.

Сравните то что приходит от Get http://google.com и что реально есть в исходном коде страницы.
Метод от Stilet
говорит обратное.... =)
99% ошибок компьютера сидит в полуметре от монитора.

Последний раз редактировалось Stilet; 21.10.2014 в 20:18.
Fahman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка при получении данных из WEB Никки Общие вопросы по Java, Java SE, Kotlin 3 28.12.2013 19:17
Неверная кодировка текста в компонентах формы при получении почты через IdPOP3 Fastex C++ Builder 1 27.12.2011 13:15
Иероглифы при получении СМС RIO Работа с сетью в Delphi 0 30.07.2010 00:04
Неудача при получении исходного кода страницы Alex Cones Работа с сетью в Delphi 8 18.05.2010 16:38
при получении из внешних данных segail Microsoft Office Excel 4 03.04.2010 16:03