标题:ajax与asp程序交互时出现乱码了?
只看楼主
wangjianlin2008
Rank: 1
来 自:四川
等 级:新手上路
帖 子:207
专家分:0
注 册:2008-6-22
结帖率:40%
 问题点数:0 回复次数:6 
ajax与asp程序交互时出现乱码了?
我前段时间想通过ajax实现和asp程序的交互,就是在城市选择市在客户端先选择省份,然后通过ajax访问asp程序,该asp程序的执行结果就是将该省份的所有城市发回客户端,可是我跟踪asp程序,服务器端发回的结果是正确的,但客户端显示是乱码,在网上搜了下说是两边的编码问题不一样,我在网上用了下人家在客户端将gb2312编码转为UTF-8的js代码,可是运行有错误,谁能给我一段正确的代码?
搜索更多相关主题的帖子: ajax 乱码 交互 asp 
2008-10-06 15:33
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
得分:0 
关注中……
这问题我在ajax版问过,没人回答。
我自己调试了很久,也只能在IE中实现不乱码,火狐中还是不行。
ASP扩展性真的不好。
用PHP就可以解决这类问题。

世事如潮我如水,只叹江湖几人回。
2008-10-10 08:40
SkyGull
Rank: 5Rank: 5
来 自:浙江杭州
等 级:贵宾
威 望:13
帖 子:839
专家分:324
注 册:2007-6-7
得分:0 
又是编码的问题...汗..
2008-10-14 11:18
SkyGull
Rank: 5Rank: 5
来 自:浙江杭州
等 级:贵宾
威 望:13
帖 子:839
专家分:324
注 册:2007-6-7
得分:0 
程序代码:
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


试试这个吧
2008-10-14 11:20
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
得分:0 
用不了.用response.binarywrite也没见输出,用response.write也没见输出.
就算binarywirte str有输出,
但 rs.open "select * from tablename where str='"&str&"'",conn,1,1
肯定也是找不到记录的.

世事如潮我如水,只叹江湖几人回。
2008-11-02 11:32
sunfishy
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:311
专家分:163
注 册:2007-6-29
得分:0 
1:客户端页将参数进行编码
如:xmlhttp.send("id="+escape(id)+"&name="+escape(name))

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

===对于asp的话以上两步都要有...
2008-11-20 15:40
anlige
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:401
专家分:0
注 册:2006-11-3
得分:0 
asp文件以utf-8格式保存...

http://www.
zhanghuiguoanlige@
2008-12-09 15:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-236636-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.176215 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved