DELPHI获取网页内容

从网上下了这个函数,但发现这个函数有时读取网页内容时,会读出乱码(不是中文)。

function GetWebPage(const Url: string): string;
var
Session,
HttpFile: HINTERNET;
szSizeBuffer: Pointer;
dwLengthSizeBuffer: DWord;
dwReserved: DWord;
dwFileSize: DWord;
dwBytesRead: DWord;
Contents: pchar;
begin
Session := InternetOpen('', 0, nil, nil, 0);
HttpFile := InternetOpenUrl(Session, pchar(Url), nil, 0, 0, 0);
dwLengthSizeBuffer := 1024;
HttpQueryInfo(HttpFile, 5, szSizeBuffer, dwLengthSizeBuffer, dwReserved);
GetMem(Contents, dwFileSize);
InternetReadFile(HttpFile, Contents, dwFileSize, dwBytesRead);
InternetCloseHandle(HttpFile);
InternetCloseHandle(Session);
Result := StrPas(Contents);
FreeMem(Contents);
end;

s := trim(GetWebPage(Load_web_update + '/SysUpFiles.htm'));
网页显示的内容为V20090220111120 ,结果S的值确是'V-'#$A0
怎试也不行,请高手说说中间那里出错了?

//试下用idhttp

uses IdHTTP;

function GetWebPage(const Url :string; IsUtf8 :Boolean = False):string;
var
idp :TIdHTTP;
begin
Result := '';
idp := TIdHTTP.Create(Application);
try
idp.HandleRedirects := True;
idp.Request.UserAgent := 'Mozilla/5.0';
Result := idp.Get(Url);
if IsUtf8 then
Result := Utf8ToAnsi(Result);
finally
FreeAndNil(idp);
end;
end;

//当网页编码是utf8时,第2个参数请为true,要不汉字会出现乱码
ShowMessage(GetWebPage(Load_web_update + '/SysUpFiles.htm'));
温馨提示:答案为网友推荐,仅供参考