注册 登录
编程论坛 jQuery论坛

ajax与asp程序交互时出现乱码了?

wangjianlin2008 发布于 2008-10-06 15:33, 3682 次点击
我前段时间想通过ajax实现和asp程序的交互,就是在城市选择市在客户端先选择省份,然后通过ajax访问asp程序,该asp程序的执行结果就是将该省份的所有城市发回客户端,可是我跟踪asp程序,服务器端发回的结果是正确的,但客户端显示是乱码,在网上搜了下说是两边的编码问题不一样,我在网上用了下人家在客户端将gb2312编码转为UTF-8的js代码,可是运行有错误,谁能给我一段正确的代码?
6 回复
#2
hugeannex2008-10-10 08:40
关注中……
这问题我在ajax版问过,没人回答。
我自己调试了很久,也只能在IE中实现不乱码,火狐中还是不行。
ASP扩展性真的不好。
用PHP就可以解决这类问题。
#3
SkyGull2008-10-14 11:18
又是编码的问题...汗..
#4
SkyGull2008-10-14 11:20
程序代码:
Function U2UTF8(Byval a_iNum)  'utf8转gbk
    Dim sResult,sUTF8
    Dim iTemp,iHexNum,i

    iHexNum = Trim(a_iNum)

    If iHexNum = "" Then
        Exit Function
    End If

    sResult = ""

    If (iHexNum < 128) Then
        sResult = sResult & iHexNum
    ElseIf (iHexNum < 2048) Then
        sResult = ChrB(&H80 + (iHexNum And &H3F))
        iHexNum = iHexNum \ &H40
        sResult = ChrB(&HC0 + (iHexNum And &H1F)) & sResult
    ElseIf (iHexNum < 65536) Then
        sResult = ChrB(&H80 + (iHexNum And &H3F))
        iHexNum = iHexNum \ &H40
        sResult = ChrB(&H80 + (iHexNum And &H3F)) & sResult
        iHexNum = iHexNum \ &H40
        sResult = ChrB(&HE0 + (iHexNum And &HF)) & sResult
    End If

    U2UTF8 = sResult
End Function

Function GB2UTF(Byval a_sStr) 'gbk转utf8
    Dim sGB,sResult,sTemp
    Dim iLen,iUnicode,iTemp,i

    sGB = Trim(a_sStr)
    iLen = Len(sGB)
    For i = 1 To iLen
         sTemp = Mid(sGB,i,1)
         iTemp = Asc(sTemp)

         If (iTemp>127 OR iTemp<0) Then
             iUnicode = AscW(sTemp)
             If iUnicode<0 Then
                 iUnicode = iUnicode + 65536
             End If
        Else
            iUnicode = iTemp
        End If

        sResult = sResult & U2UTF8(iUnicode)
    Next

    GB2UTF = sResult
End Function


试试这个吧
#5
hugeannex2008-11-02 11:32
用不了.用response.binarywrite也没见输出,用response.write也没见输出.
就算binarywirte str有输出,
但 rs.open "select * from tablename where str='"&str&"'",conn,1,1
肯定也是找不到记录的.
#6
sunfishy2008-11-20 15:40
1:客户端页将参数进行编码
如:xmlhttp.send("id="+escape(id)+"&name="+escape(name))

2:同时在asp页中加入
 response.charset="gb2312"

===对于asp的话以上两步都要有...
#7
anlige2008-12-09 15:50
asp文件以utf-8格式保存...
1