Делаю всё как в примере из комплекта поставки LNet:
- Код: Выделить всё
function TForm1.GetComponentInput(ASocket: TLHTTPClientSocket; ABuffer: pchar; ASize: integer): integer;
var
oldLength : DWord;
begin
oldLength := Length(GetSource);
SetLength(GetSource, oldLength + ASize);
Move(ABuffer^, GetSource[oldLength + 1], ASize);
SourceMemo.Text := GetSource;
SourceMemo.SelStart := Length(GetSource);
Result := aSize;
end;
В результате получаю исходник страницы, но в Memo все нелатинские символы отображаются вопросительными знаками. Пробовал даже заменить GetSource со String'a на WideString - в Мемо вообще все символы стали вопросительными знаками. Как быть?
Добавлено спустя 21 минуту 41 секунду:
Проверил, некоторые сайты он возвращает в правильной кодировке, а некоторые - нет. Те, у которых в заголовке ответа прописано "Content-Type: text/html; charset=windows-1251" (в т.ч. мой случай) возвращают вопросительные знаки, а вот если там же прописано UTF8, то всё в порядке. Нельзя ли как-то принудительно заставить сервер возвращать данные в нужной кодировке? Или можно как-то исправить кодировку уже "на месте"?