System.Text.Encoding encoding=System.Text.Encoding.GetEncoding("gb2312");
System.IO.StreamReader reader=new System.IO.StreamReader(response.GetResponseStream(),encoding);
string htmlstr=reader.ReadToEnd();

解决方案 »

  1.   

    System.Text.Encoding encoding = System.Text.Encoding.GetEncoding("utf-8");
      

  2.   

    xrascal(横刀夺爱) ,感谢你的回答。但msxml2.xmlhttp40class不支持流,返回值是string。
    我原本也想用webrequest或webclient类,但他们对于有些网址返回错误
      

  3.   

    string str = "your string";
    byte[] by = System.Text.Encoding.GetEncoding("utf-8").GetBytes(str);
    str = System.Text.Encoding.GetEncoding("GB2312").GetString(by);
      

  4.   

    Imports System.Math Function URLEncoding(ByVal vstrIn As String)
            Dim strReturn As String
            strReturn = ""
            Dim i As Integer        Dim ThisChr As String        Dim innerCode, Hight8, Low8 As Integer        For i = 1 To vstrIn.Length            ThisChr = Mid(vstrIn, i, 1)            If Abs(Asc(ThisChr)) < &HFF Then
                    strReturn = strReturn & ThisChr
                Else
                    innerCode = Asc(ThisChr)
                    If innerCode < 0 Then
                        innerCode = innerCode + &H10000
                    End If
                    Hight8 = (innerCode And &HFF00) \ &HFF
                    Low8 = innerCode And &HFF
                    strReturn = strReturn & "%" & Hex(Hight8) & "%" & Hex(Low8)
                End If
            Next
            URLEncoding = strReturn
        End Function
      

  5.   

    private void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e)
      {
       SqlConnection Conn=new SqlConnection("Server=.;DataBase=Test;UID=sa;PWD=;");
       Conn.Open();
       string strSql="select content from tblTest where name='html'";
       SqlCommand cmd=new SqlCommand(strSql,Conn);
       SqlDataReader dr=cmd.ExecuteReader();   mshtml.IHTMLDocument2 htmlDocument = (mshtml.IHTMLDocument2)axWebBrowser1.Document;
       mshtml.IHTMLElement body = (mshtml.IHTMLElement)htmlDocument.body;
       if(dr.Read())
       {
         body.innerHTML =(string)dr["content"];
       }
       dr.Close();
      }
      

  6.   

    感谢各位的支持和参与。问题已搞定,先将取回值显示赋予二进制数组,再读入StreamReader,即可搞定。作为履行承诺,进行结帐散分。因为我的问题是在c#区提出的,所以实在不好意思,对于vb.net的回答暂不给分,请谅解。