ASP

推荐列表 站点导航

当前位置:首页 > 脚本编程 > ASP >

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

来源:互联网  作者:网友投稿  发布时间:2021-01-10 20:50
ASP读取Request.QueryString编码的函数代码,学习asp的朋友可以参考下。...

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 
%> 

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/asp/12318.shtml

最新文章
所有我们手工回收一下就 所有我们手工回收一下就

时间:2021-01-18

 最近网站改版正好发现原 最近网站改版正好发现原

时间:2021-01-17

现在完全支持ACCESS 现在完全支持ACCESS

时间:2021-01-17

出现错误的时候 出现错误的时候

时间:2021-01-13

ASP常见错误详解及解决方 ASP常见错误详解及解决方

时间:2021-01-05

查看ASP详细错误提示信息 查看ASP详细错误提示信息

时间:2021-01-05

4款傻瓜型的ASP服务器软件 4款傻瓜型的ASP服务器软件

时间:2020-12-23

ASP 数字分页效果代码 ASP 数字分页效果代码

时间:2020-12-23

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

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

2021-01-10 编辑:网友投稿

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 
%> 

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/asp/12318.shtml

相关文章

风云图片

推荐阅读

返回ASP频道首页