本人常用的Asp实现GB2312转UTF8函数

ASP/Visual Basic代码
  1. Function toUTF8(szInput)   
  2.     Dim wch, uch, szRet   
  3.     Dim x   
  4.     Dim nAsc, nAsc2, nAsc3   
  5.     '如果输入参数为空,则退出函数   
  6.     If szInput = "" Then   
  7.       toUTF8 = szInput   
  8.       Exit Function   
  9.     End If   
  10.     '开始转换   
  11.     For x = 1 To Len(szInput)   
  12.       '利用mid函数分拆GB编码文字   
  13.       wch = Mid(szInput, x, 1)   
  14.       '利用ascW函数返回每一个GB编码文字的Unicode字符代码   
  15.       '注:asc函数返回的是ANSI 字符代码,注意区别   
  16.       nAsc = AscW(wch)   
  17.       If nAsc < 0 Then nAsc = nAsc + 65536   
  18.       
  19.       If (nAsc And &HFF80) = 0 Then   
  20.           szRet = szRet & wch   
  21.       Else   
  22.           If (nAsc And &HF000) = 0 Then   
  23.             uch = "%" & Hex(((nAsc \ 2 ^ 6)) or &HC0) & Hex(nAsc And &H3F or &H80)   
  24.             szRet = szRet & uch   
  25.           Else   
  26.             'GB编码文字的Unicode字符代码在0800 - FFFF之间采用三字节模版   
  27.             uch = "%" & Hex((nAsc \ 2 ^ 12) or &HE0) & "%" & _   
  28.                     Hex((nAsc \ 2 ^ 6) And &H3F or &H80) & "%" & _   
  29.                     Hex(nAsc And &H3F or &H80)   
  30.             szRet = szRet & uch   
  31.           End If   
  32.       End If   
  33.     Next   
  34.           
  35.     toUTF8 = szRet   
  36. End Function  


上一篇: Asp版的escape和unescape函数
下一篇: 原来Godaddy的Sqlserver数据库是可以远程连接管理的
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: asp
相关日志:
评论: 1 | 引用: 0 | 查看次数: 2178
预应力钢绞线[2012-05-24 08:11 PM | 访问 http://www.gjxtj.com | | 218.86.103.26 | del | 回复回复]
沙发
希望这个管用呀
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭

 广告位

↑返回顶部↑