问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp如何转换gb2312字符串为utf-8字符串

发布网友 发布时间:2023-10-15 13:49

我来回答

4个回答

热心网友 时间:2024-11-26 04:51

写一个程序将gb码转换成UTF8, 以下是我用的函数
使用方法: UTF8STR = GB2UTF("GB码内容", 1)

不过我不能理解,你是怎么接收到gb码参数的? 无论是POST还是GET 如果你的页面写好是utf-8, 那你收到的参数应该都是UTF8的编码,难道你整个WEB的页面编码不统一吗?

Private Function GetHex(ByVal str1 As String, IsANSI As Boolean) As String
Dim b1() As Byte
If IsANSI Then b1 = StrConv(str1, vbFromUnicode) Else b1 = str1
Dim s1 As Long, n1 As Long, l1 As Long
l1 = LBound(b1)
n1 = UBound(b1) - l1 + 1
GetHex = Space(n1 * 2)
For s1 = 1 To n1
Mid(GetHex, s1 + s1 - 1, 2) = Replace(Format(Hex(b1(s1 + l1 - 1)), "@@"), " ", "0")
Next
End Function

Private Function U2UTF8(ByVal a_iNum, ByVal is_With_%)
Dim sResult, sTmpResult, caHex, sUTF8
Dim iTemp, iHexNum, i

iHexNum = a_iNum

If iHexNum = "" Then
Exit Function
End If

caHex = ""
sResult = ""
sTmpResult = ""

If (iHexNum < 128) Then
is_With_% = 0
sTmpResult = sTmpResult & Chr(iHexNum)
ElseIf (iHexNum < 2048) Then
sTmpResult = ChrB(&H80 + (iHexNum And &H3F))
iHexNum = iHexNum \ &H40
sTmpResult = ChrB(&HC0 + (iHexNum And &H1F)) & sTmpResult
ElseIf (iHexNum < 65536) Then
sTmpResult = ChrB(&H80 + (iHexNum And &H3F))
iHexNum = iHexNum \ &H40
sTmpResult = ChrB(&H80 + (iHexNum And &H3F)) & sTmpResult
iHexNum = iHexNum \ &H40
sTmpResult = ChrB(&HE0 + (iHexNum And &HF)) & sTmpResult

End If

If Len(sTmpResult) > 0 And is_With_% = 1 Then
i = 1
caHex = GetHex(sTmpResult, False)
Do While i < Len(caHex)
sResult = sResult & "%" & Mid(caHex, i, 2)
i = i + 2
Loop
Else
sResult = sTmpResult
End If

U2UTF8 = sResult
End Function

Function GB2UTF(ByVal a_sStr, ByVal is_With_%)
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, is_With_%)
Next

GB2UTF = sResult
End Function

热心网友 时间:2024-11-26 04:51

有一个折中的办法,就是不管是utf-8还是gb2312
对于url编码来说,都认,所以,建议你将接收到的不确定是utf-8还是gb2312编码的那些字符用url编码: server.urlencode()

热心网友 时间:2024-11-26 04:52

server.urlencode()

热心网友 时间:2024-11-26 04:52

用server.urlencode()
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... asp中utf-8转gb2312最简单的方法,为什么我改了之... asp中UTF-8和GB2312之间怎么转换 ...最多几小时才能保证嗓子不嘶哑?有什么方法可以保护嗓子? 请推荐带有古典韵味的歌曲27 全顺柴油车水泵排气孔渗水是什么原因1 推荐一些有古典韵味的歌曲3 隔嚒水泵排气孔漏水怎么办? 给推荐几首带有古典诗词韵味的经典歌曲178 汽车水泵漏水怎么办?45 素菜盒子的做法步骤图,素菜盒子怎么做好吃 如祺出行专车体验如何?值得尝试不? 机器猫的短信铃声 每一集开始的那和 很短。 求帮忙 邮箱 9... 广州如祺出行怎么样?求分享真实乘车感受 在线急等~~轩辕剑3天之痕,小雪加入后,怎么给他装备啊,按哪...2 崩坏学园2BGM任务大号完成了小号不能完成怎么办 函授考试可以抄答案吗 工商局对劣质柴油怎么处理4 医保卡买药能报销多少钱158 土炼油和国标柴油的常用鉴别方法11 我用了一年多的浦发信用卡,额度3000到现在不给提额2 ASP网站中怎样把GB2312和UTF-8混合网站统一转成U... 张冠李戴是什么意思!!!143 宏达股份今日资金走势?宏达股份明日股票分析?宏达股份6003... 如祺出行专车究竟如何? 欣然怒放的意思3521 结婚日子测算 我想选一个好日子!!! 浦发信用卡分期可以提高额度吗?7 浦发信用卡要多少个月才能提额194 谚语英语怎么说saying 中国人民网中国好人榜我评议中投票投蔡志军5 次密接单元封闭多久18 拍照取证时被(便衣)警察抢夺手机,对方未表明身份,抢夺手机时... 次密接者最新隔离规定时间怎么算? 我要结婚了,想选一个好日子! 欣然怒放是什么意思?15 我浦发信用卡用了一年多了怎么不提额度了7 欣然怒放的“然”是什么意思?15 帮忙推荐一些具有古典韵味的歌曲 宜信普惠小额贷款怎么样,产品都有哪些特点 这串金刚菩提是蛤蟆背纹吗??品相如何???