ASP读取Request.QueryString编码的函数代码

1. 支持参数纯汉字 ?a=深山老熊

2. 支持参数gb2312 Urlencode编码: ?a=%C9%EE%C9%BD%C0%CF%D0%DC

3. 支持参数UTF-8 Urlencode编码: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A

复制代码 代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

<%

Option Explicit

Const YXCMS_CHARSET = "UTF-8"

Const YXCMS_CODEPAGE = 65001

Response.CharSet = "UTF-8"

Session.CodePage = 65001

'测试URL

'?n1=深山老熊&n2=%C9%EE%C9%BD%C0%CF%D0%DC&n3=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A

'深山老熊

'GBK : %C9%EE%C9%BD%C0%CF%D0%DC

'UTF-8 : %E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A

Dim URI,key

Set URI = new Cls_URI

'输出所有参数测试

For Each key In URI.QueryString

Response.Write "<span style='color:red'>" & key & " : </span>" & URI.Get(key) & "<hr/>"

Next

'取单个值

'URI.Get("名称")

'--------------------------------------------

'ASP UTF-8编码下通吃 GBK UTF-8编码

'作者: 深山老熊 QQ:81090

'--------------------------------------------

Class Cls_URI

Private o_item,o_regx

Private url_query

Private Sub Class_Initialize

Set o_item = CreateObject("Scripting.Dictionary")

o_item.CompareMode = 1

Set o_regx = New Regexp

o_regx.Pattern = "^(?:[\x00-\x7f]|[\xfc-\xff][\x80-\xbf]{5}|[\xf8-\xfb][\x80-\xbf]{4}|[\xf0-\xf7][\x80-\xbf]{3}|[\xe0-\xef][\x80-\xbf]{2}|[\xc0-\xdf][\x80-\xbf])+$"

Session.CodePage = 936

url_query = Request.ServerVariables("QUERY_STRING")

Session.CodePage = 65001

'根据QUERY_STRING字符串,生成模拟QueryString值

Dim i,a,b,c,n,v

a = Split(url_query,"&") : c = UBound(a)

For i = 0 To c

b = Split(a(i),"=",2)

n = Trim(b(0) & "")

If UBound(b) < 1 Then

v = ""

Else

v = b(1)

If InStr(v,"%") > 0 Then v = URLDecode(v)

End If

If n <> "" Then

o_item(n) = v

End If

Next

Set o_regx = Nothing

End Sub

Private Sub Class_Terminate

Set o_item = Nothing

End Sub

'模拟 Request.QueryString

Public Function QueryString()

Set QueryString = o_item

End Function

'模拟 Request.QueryString(n)

Public Function [GET](n)

If o_item.Exists(n) Then

[GET] = o_item.Item(n)

Else

[GET] = ""

End If

End Function

'编码格式化

Private Function URLDecode(ByVal s)

Dim sm,cs,r,o_regex

If Trim(s & "") = "" Then

URLDecode = s : Exit Function

End If

s = unescape(s)

If o_regx.Test(s) Then

cs = "UTF-8"

Else

cs = "GBK"

End If

Set sm = CreateObject("Adodb.Stream")

With sm

.Type = 2

.Mode = 3

.Open

.CharSet = "ISO-8859-1"

.WriteText s

.Position = 0

.CharSet = cs

URLDecode = .ReadText(-1)

.Close

End With

Set sm = Nothing

End Function

End Class

%>

时间: 2024-10-26 11:29:49

ASP读取Request.QueryString编码的函数代码的相关文章

ASP读取Request.QueryString编码的函数代码_应用技巧

1. 支持参数纯汉字 ?a=深山老熊 2. 支持参数gb2312 Urlencode编码: ?a=%C9%EE%C9%BD%C0%CF%D0%DC 3. 支持参数UTF-8 Urlencode编码: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Option Explicit Const YXCMS_CH

asp 读取文件和保存文件函数代码_应用技巧

'************************************* '读取文件 '************************************* Function LoadFromFile(ByVal File) Dim objStream Dim RText RText = Array(0, "") Set objStream = Server.CreateObject("ADODB.Stream") With objStream .Type

asp 读取文件和保存文件函数代码

'************************************* '读取文件 '************************************* Function LoadFromFile(ByVal File) Dim objStream Dim RText RText = Array(0, "") Set objStream = Server.CreateObject("ADODB.Stream") With objStream .Type

ASP读取IIS日志的小程序代码

  ASP读取IIS日志文件的代码,由此你可以编写实现一个IIS日志浏览程序,可读取IIS日志中的访问时间.客户端IP,请求目标.协议状态等内容,如果要读取更多日志内容,你可参考ASP中的MSWC.IISLog对象的一系列方法,本代码只演示如果建立日志读取对象,到最终按列表形式列出日志的每一条内容,方便网站管理员参考. 直接保存上面的代码为一个ASP文件,运行就行了,为了测试方便,这里帖出供测试的IIS日志文件的代码: 请保存上述日志代码为:ex130215.log,注意这个文件名不要错,因为代

asp下request.querystring(&amp;quot;id&amp;quot;)与request(&amp;quot;id&amp;quot;)区别_应用技巧

Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables.Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了.  现在我们来分析下你得问题.  假设有个页面 test.asp?id=111  这里我们的页面是用GET的方法.这时用request.querystring("id")与request("id")是一样得,应该如果不指定REQUEST得

asp下request.querystring(&quot;id&quot;)与request(&quot;id&quot;)区别

Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables.Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了. 现在我们来分析下你得问题.  假设有个页面 test.asp?id=111  这里我们的页面是用GET的方法.这时用request.querystring("id")与request("id")是一样得,应该如果不指定REQUEST得集

实例:ASP实现长文章自动分页的函数代码

分页|函数 Function c2u(myText) Dim i c2u = "" For i = 1 to Len(myText) c2u = c2u & "" & Hex(AscW(Mid(myText, i, 1))) & ";" Next End Function Function cutStr(str,strlen) '去掉所有HTML标记 Dim re Set re=new RegExp re.IgnoreCa

ASP下检测图片木马的函数代码_应用技巧

木马原理:入侵者使用诸如ASP图片木马生成器之类的工具将一张正常的图片与一个ASP木马文件合并成一个图片文件(即将对网站有害的 ASP代码插在图片编码之后,虽然图片仍然可以正常显示,但是文件内容和尺寸已被改变),然后通过网站提供的文件上传功能上传这一张"合 '法的"图片,进而实现了上传ASP木马的目的. ' 防范方法:因为这种木马是图片与木马的二合一,所以需要在上传图片前检查文件内容,若文件内容不合法(即包含有恶意代码在里面), '则禁止上传,从而堵住了木马攻击的源头,这是木马攻击的第

php实现utf-8和GB2312编码相互转换函数代码_php技巧

复制代码 代码如下: <?php /********************************************  *  * 函数名:get_utf8_to_gb($value)  * 作  用:utf8编码字符串转换成gb2312编码  * 作  者:刘先忠  * 日  期:2011-11-09   *  ********************************************/function   get_utf8_to_gb($value){  $value_1