标题:ASP+Ajax问题求救
只看楼主
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
结帖率:100%
 问题点数:0 回复次数:12 
ASP+Ajax问题求救
在ASP中,
怎么用Ajax的汉字不是乱码地存进access中?
搜索更多相关主题的帖子: Ajax ASP 
2008-09-24 23:22
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
得分:0 
嘿嘿,进来才发现是我问的问题,都没人理。
现在只能解决IE的……

世事如潮我如水,只叹江湖几人回。
2008-10-05 01:01
sexy22
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2008-9-17
得分:0 
把意思说明白点。。。。

DBA成长交流MSN群:group278655@
2008-10-05 10:32
quanercao
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-10-16
得分:0 
ajax乱码太正常了。。对每个数据传递过程进行各个击破。。。
2008-10-05 23:53
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
得分:0 
[bo][un]quanercao[/un] 在 2008-10-5 23:53 的发言:[/bo]

ajax乱码太正常了。。对每个数据传递过程进行各个击破。。。


说的容易,做起来你就知道办不到了。ASP+ajax真的不太适合,在IE中还可以,在火狐中汉字的字数是单数就不行了,后面那个字肯定是乱码。(意思是在火狐中,中文只能传偶数长度的字,奇数的后面一个字就是乱码,我试了很久都没解决,前台后台都弄过)

世事如潮我如水,只叹江湖几人回。
2008-10-10 08:46
SkyGull
Rank: 5Rank: 5
来 自:浙江杭州
等 级:贵宾
威 望:13
帖 子:839
专家分:324
注 册:2007-6-7
得分:0 
转码回来就可以了

ajax过去的编码是utf8的.
你建个函数转成gbk的.再存入就可以了
2008-10-10 09:32
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
得分:0 
[bo][un]SkyGull[/un] 在 2008-10-10 09:32 的发言:[/bo]

转码回来就可以了

ajax过去的编码是utf8的.
你建个函数转成gbk的.再存入就可以了


 愿闻其详。
理论上都是这么说,希望楼上的能给点实用的代码看看。

世事如潮我如水,只叹江湖几人回。
2008-10-10 12:31
SkyGull
Rank: 5Rank: 5
来 自:浙江杭州
等 级:贵宾
威 望:13
帖 子:839
专家分:324
注 册:2007-6-7
得分:0 
php有 iconv 函数...asp不晓得
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:21
hugeannex
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:477
专家分:911
注 册:2005-3-20
得分:0 
谢谢,有空再试试.

世事如潮我如水,只叹江湖几人回。
2008-10-21 12:26



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




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

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