ASP reads the function code encoded by Request.QueryString. Friends who are learning asp can refer to it. 1. Support the parameter pure Chinese characters?a=山老熊
2. Support parameter gb2312 Urlencode encoding: ?a=%C9%EE%C9%BD%C0%CF%D0%DC
3. Support parameter UTF-8 Urlencode encoding: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
Copy the code code as follows:
<%@LANGUAGE=VBSCRIPT CODEPAGE=65001%>
<%
Option Explicit
Const YXCMS_CHARSET = UTF-8
Const YXCMS_CODEPAGE = 65001
Response.CharSet = UTF-8
Session.CodePage = 65001
'Test URL
'?n1=Old Bear in the Deep Mountains&n2=%C9%EE%C9%BD%C0%CF%D0%DC&n3=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
'Old Bear in the Mountains
'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
'Output all parameter tests
For Each key In URI.QueryString
Response.Write <span style='color:red'> & key & : </span> & URI.Get(key) & <hr/>
Next
'Get a single value
'URI.Get(name)
'---------------------------------------------
'ASP UTF-8 encoding takes over GBK UTF-8 encoding
'Author: Deep Mountain Old Bear 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}|[/ xf 0-/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
'Generate a simulated QueryString value based on the QUERY_STRING string
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
'Simulate Request.QueryString
Public Function QueryString()
Set QueryString = o_item
End Function
'Simulate Request.QueryString(n)
Public Function [GET](n)
If o_item.Exists(n) Then
[GET] = o_item.Item(n)
Else
[GET] =
End If
End Function
'Encoding format
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
%>