ASP 编码转换(乱码问题解决)

ASP 编码转换(乱码问题解决)

输出前先调用Conversion函数进行编码转换,可以解决乱码问题。

 

注,“&参数&”为ASP的连接符,这里面很多是直接调用的数据库表字段,实际使用请自行修改后再调试。

<!--GB转unicode---将GB编码文字转换为unicode编码文字-->
<% function Conversion(Str) for i=1 to len(Str) Str_one=Mid(Str,i,1) Str_unicode=Str_unicode&chr(38) Str_unicode=Str_unicode&chr(35) Str_unicode=Str_unicode&chr(120) Str_unicode=Str_unicode& Hex(ascw(Str_one)) Str_unicode=Str_unicode&chr(59) next Conversion = Str_unicode end function %> <% dim HTML HTML ="<table width='600px' border='1px'><tr><th colspan='2' align='center'>"&Conversion("用户调查表")&"</th></tr><tr><td width='200px'>"&Conversion("公司名称")&"</td><td>"&Conversion(""&company&"")&"</td></tr><tr><td>"&Conversion("公司地址")&"</td><td>"&Conversion(""&addr&"")&"</td></tr><tr><td>"&Conversion("部门")&"</td><td>"&Conversion(""&dep&"")&"</td></tr><tr><td>"&Conversion("联系人")&"</td><td>"&Conversion(""&contacts&"")&"</td></tr><tr><td>"&Conversion("联系方式")&"</td><td>"&Conversion(""&phone&"")&"</td></tr><tr><td>"&Conversion("问题描述")&"</td><td>"&Conversion(""&qs_inf&"")&"</td></tr><tr><td>"&Conversion("问答提交")&"</td><td>"&Conversion(""&qs_wt&"")&"</td></tr></table>" %>

 

其它:GB转UTF8--将GB编码文字转换为UTF8编码文字

<!--GB转UTF8--将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
%>

  

-完-

转载于:https://www.cnblogs.com/colinliu/p/4818489.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值