代码:
string _content;
 _content:=IdHTTP1.Get('www.aaa.com');问题:
可以正常访问简体网页,访问繁体网页时显示乱码,结果如下,请问如何解决返回结果:(片断)
<html>'#$A'<head>'#$A'<title>ì瞴跑计</title>'#$A'<meta http-equiv="Content-Type" content="text/html; charset=big5">'#$A'<script language="JavaScript">'#$A'<!--'#$A'if(self == top) location='http://www.s1188.com/app/member/''#$A'parent.username='ccha9977';'#$A'parent.maxcredit='1000';'#$A'parent.code='チ刽(RMB)';'#$A'parent.uid='6f8500e6m2161efl1a978';'#$A'parent.msg='穛叫猔種:05/19 (玭疭 VS 瓜緗)辽ㄆ87だ牧竬辟,埃初猔虫┮Τ猔虫.筁闽(1)璸衡!!.';'#$A'parent.ltype='3';'#$A'parent.str_even = '㎝Ы';'#$A'parent.str_submit = '絋粄';'#$A'parent.str_reset = '砞';'#$A'parent.langx='zh-tw';'#$A'parent.rtype='r';'#$A'parent.sel_lid='';'#$A'parent.retime=180;'#$A'parent.str_renew = '笆穝';'#$A'parent.game_more=1;'#$A'parent.str_more='贺猭';'#$A'parent.t_page=5.625;'#$A'parent.gamount=40;'#$A'
  

解决方案 »

  1.   

    用BIG5toGB转换一下unit Unit1;interface
    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    StdCtrls;type
    TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);private
    { Private declarations }
    public{ Public declarations }
    end;var
    Form1: TForm1;
    function GBtoBIG5(value: string): string;
    function BIG5toGB(value: string): string;implementation{$R *.DFM}
    var
    BIG5Order: array[0..14757] of Word;
    GBOrder : array[0..8177] of Word;function GBOffset(value: string): integer;
    begin
    if length(value) >= 2 then
    Result := (Ord(value[1]) - 161) * 94 + (Ord(value[2]) - 161)
    else
    Result := -1;
    end;function BIG5Offset(value: string): integer;
    begin
    Result := -1;
    if length(value) >= 2 then
    begin
    if (Ord(value[2]) >= 64) and (Ord(value[2]) <= 126) then
    Result := (Ord(value[1]) - 161) * 157 + (Ord(value[2]) - 64);
    if (Ord(value[2]) >= 161) and (Ord(value[2]) <= 254) then
    Result := (Ord(value[1]) - 161) * 157 + 63 + (Ord(value[2]) - 161);
    end
    end;function WordToString(value: Word): string;
    begin
    Result := Chr(Hi(value)) + Chr(Lo(Value));
    end;function isBIG5(value: string): Boolean;
    begin
    if (length(value)>=2) then
    begin
    if (value[1] < #161) then
    Result := false
    else
    if ((value[2] >= #64) and (value[2] <= #126)) or ((value[2] >= #161) and (value[2] <= #254)) then
    Result := true
    else
    Result := false
    end
    else
    Result := false
    end;function isGB(value: string): Boolean;
    begin
    if (length(value)>=2) then
    begin
    if (value[1] <= #161) and (value[1] >= #247) then
    Result := false
    else
    if (value[2] <= #161) and (value[2] >= #254) then
    Result := false
    else
    Result := true
    end
    else
    Result := true;
    end;function GBtoBIG5(value: string): string;
    var
    leng, idx : integer;
    tmpStr : string[2];
    Offset : integer;
    output : string;
    begin
    output := '';
    leng := length(value);
    idx := 1;
    while idx <= leng do
    begin
    tmpStr := value[idx]+ value[idx + 1];
    if isGB(tmpStr) then
    begin
    offset:=GBOffset(tmpStr);
    if (offset >= 0) and (offset <= 8177) then
    begin
    output := output + WordToString(GBOrder[offset]);
    inc(idx);
    end
    else
    output := output + value[idx] ;
    end
    else
    output := output + value[idx] ;inc(idx, 1);
    end;
    Result := output;
    end;function BIG5toGB(value: string): string;
    var
    leng, idx : integer;
    tmpStr : string[2];
    output : string;
    offset : integer;
    begin
    output := '';
    leng := length(value);
    idx := 1;
    while idx <= leng do
    begin
    tmpStr := value[idx]+ value[idx + 1];
    if isBIG5(tmpStr) then
    begin
    offset:=BIG5Offset(tmpStr);
    if (offset >= 0) and (offset <= 14757) then
    begin
    output := output + WordToString(BIG5Order[offset]);
    inc(idx);
    end
    else
    output := output + value[idx];
    end
    else
    output := output + value[idx];inc(idx);
    end;
    Result := output;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    label1.caption:=big5togb(edit1.text);
    end;end.
      

  2.   

    采用 hongqi162(失踪的月亮)  的方法解决问题,散分,谢谢!