asp编码UTF-8转GB2312

将UTF8编码文字转换为GB编码文字的asp代码

<%
function UTF2GB(UTFStr)
	for Dig=1 to len(UTFStr)
	   '如果UTF8编码文字以%开头则进行转换
	   if mid(UTFStr,Dig,1)="%" then
		  'UTF8编码文字大于8则转换为汉字
		 if len(UTFStr) >= Dig+8 then
			GBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9))
			Dig=Dig+8
		 else
		   GBStr=GBStr & mid(UTFStr,Dig,1)
		 end if
	   else
		  GBStr=GBStr & mid(UTFStr,Dig,1)
	   end if
	next
	UTF2GB=GBStr
end function
%>

asp编码GB2312转UTF-8

将GB编码文字转换为UTF8编码文字

<%
Function toUTF8(szInput)
     Dim wch, uch, szRet
     Dim x
     Dim nAsc, nAsc2, nAsc3
     '如果输入参数为空,则退出函数
     If szInput = "" Then
         toUTF8 = szInput
         Exit Function
     End If
     '开始转换
      For x = 1 To Len(szInput)
         '利用mid函数分拆GB编码文字
         wch = Mid(szInput, x, 1)
         '利用ascW函数返回每一个GB编码文字的Unicode字符代码
         '注:asc函数返回的是ANSI 字符代码,注意区别
         nAsc = AscW(wch)
         If nAsc < 0 Then nAsc = nAsc + 65536
    
         If (nAsc And &HFF80) = 0 Then
             szRet = szRet & wch
         Else
             If (nAsc And &HF000) = 0 Then
                 uch = "%" & Hex(((nAsc  2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)
                 szRet = szRet & uch
             Else
                'GB编码文字的Unicode字符代码在0800 - FFFF之间采用三字节模版
                 uch = "%" & Hex((nAsc  2 ^ 12) Or &HE0) & "%" & _
                             Hex((nAsc  2 ^ 6) And &H3F Or &H80) & "%" & _
                             Hex(nAsc And &H3F Or &H80)
                 szRet = szRet & uch
             End If
         End If
     Next          
     toUTF8 = szRet
End Function
%>