十万火急,今晚就要交货了,xmlhttp乱码问题,帮解决者以后开新贴给200分
服务器端代码(C#):
private void Page_Load(object sender, System.EventArgs e)
{
  string Sqltxt;
  Sqltxt=Request.QueryString.Get("Sqltxt");
  Response.Write(Sqltxt);
}客户端代码:sub SelectData()
   dim webFileUrl
   'webFileUrl="select.aspx?Sqltxt=SELECT id,姓名,班组,工种 FROM data"
   webFileUrl="select.aspx?Sqltxt=SELECT * from data"
   set xmlHttp=CreateObject("Microsoft.XMLHTTP")
   call xmlHttp.open("POST", webFileUrl, false)
   call xmlHttp.send(webFileUrl)
   dim result
   result = xmlHttp.responseText
   msgbox(result)
   'Split
end sub
上述代码,如果发送select * from data ,是成功的,而且查询数据库返回的值也是正确的。但是,如果发送SELECT id,姓名,班组,工种 FROM data,那么服务器端接收到的查询表达式变成SELECT id,,, FROM data 中文丢失。小弟今晚就要把程序交货了,现在还不能解决这个问题,所以很急,请各位大侠帮解决一下,万分感激,小弟现在只有30分可能分了,日后一定专门开新贴给200分,说话算数。

解决方案 »

  1.   

    XMLHTTP抓取数据时乱码问题解决:
    http://edu.tmn.cn/html/9/76/197/200534/42232.htm用XMLHTTP Post/Get HTML页面时的中文乱码之完全Script解决方案:
    http://www.100down.com/download/infoview/Article_1195.htmlasp中使用xml传输数据及乱码解决方法:
    http://www.delphibbs.com/keylife/iblog_show.asp?xid=559
      

  2.   

    服务器端Response.Write(Request.QueryString["Sqltxt"].tostring());客户端用http://www.100down.com/download/infoview/Article_1195.html
    可以的
    你把你转换的代码贴出来
      

  3.   

    在客户端,我是根据下面的代码进行转换的。
    <SCRIPT language="VBScript">
    Function URLEncoding(vstrIn)
        strReturn = ""
        For i = 1 To Len(vstrIn)
            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现在我发现无论转换还是不转换,结果都是一个的,即同样的内容,出现的乱码是一样的,也就是说无论转换与否,内容的发送形式都是一样的。如果不在客户端转换,在服务器端转换,不知是否可行,该如何做呢?请给一段将GB3212编码转为UTF-8编码的C#代码!
      

  4.   

    我还发现这样的一个情况,如果服务器端不用.net的aspx,而是用传统的asp,那么情况刚好相反,用XMLHttp发送到服务器的数据,服务器可以正常接收中文,而用Response.Write "显示中文"向客户端发送数据时,在客户端出现乱码。而对于aspx,则是aspx不能正常接收客户端发到服务器的中文,而用Response.Write ("显示中文");向客户端传送数据时,却是正常的。如果万不得已的话,只好客户端送服务器就用asp接收,服务器送数据到页面就用aspx发送了。