设置TWebBrowser的编码
procedure SetCharSet(AWebBrowser: TWebBrowser; ACharSet: String);
  var
   RefreshLevel: OleVariant;
  Begin
   IHTMLDocument2(AWebBrowser.Document).Set_CharSet(ACharSet);
   RefreshLevel :=7;  
   AWebBrowser.Refresh2(RefreshLevel);
  End; 或者试试把参数的encode换成URLEncode
uses Asptlb;
参数:=server.URLEncode(参数);

解决方案 »

  1.   

    to Aton
    关于你上面提到的一个过程我已经用过了,但是没有用。而你在后面提到的参数云云却不太明白。
    另外顺便问一下IHTMLWindow4这个接口哪里有定义
      

  2.   

    to Aton 
    我觉得后一种方法可能性大,但是我如何得一到Server呢?
      

  3.   

    To Aton 
    我在
    procedure TFrm_CustConfigure.FormCreate(Sender: TObject);
    var
      KeyField : TField;
      RefreshLevel,doc : OleVariant;
    begin
      WebBrowser1.Navigate('about:blank');
      while WebBrowser1.Document = nil do;
      IHTMLDocument2(WebBrowser1.Document).Set_CharSet('gb2312');
      RefreshLevel :=7;    //这个7应该从注册表来,帮助有Bug。
      WebBrowser1.Refresh2(RefreshLevel);  <<-- 这里报"未指定的错误"
    end;
    为什么会报"未指定的错误"
      

  4.   

    WebBrowser1.Refresh2不能放在Form的Create事件中:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      WebBrowser1.Navigate('about:blank');
      while WebBrowser1.Document = nil do;
        IHTMLDocument2(WebBrowser1.Document).Set_CharSet('gb2312');
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      RefreshLevel : OleVariant;
    begin
      RefreshLevel :=7;    
      WebBrowser1.Refresh2(RefreshLevel);  
    end;
      

  5.   

    报错虽然不报,但是编码还是Unicode;
      

  6.   

    To Aton 这个问题是因为我用Document.Open Document.WriteLn Document.Close 方法向WebBrowser中输入内容引起的,如果用你在<<将网页内容保存为字符串以及根据字符串显示成网页>>中提到的方法可以解决,但是你那个方法好像也有问题。我已另发了一贴,还望你多指点。