ASP liest den von Request.QueryString codierten Funktionscode. Freunde, die Asp lernen, können darauf verweisen. 1. Unterstützen Sie den Parameter reine chinesische Zeichen?a=山老熊
2. Unterstützt Parameter gb2312 Urlencode-Kodierung: ?a=%C9%EE%C9%BD%C0%CF%D0%DC
3. Unterstützungsparameter UTF-8 Urlencode-Kodierung: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
Kopieren Sie den Codecode wie folgt:
<%@LANGUAGE=VBSCRIPT CODEPAGE=65001%>
<%
Option explizit
Const YXCMS_CHARSET = UTF-8
Const YXCMS_CODEPAGE = 65001
Response.CharSet = UTF-8
Session.CodePage = 65001
'Test-URL
'?n1=Alter Bär in den tiefen Bergen&n2=%C9%EE%C9%BD%C0%CF%D0%DC&n3=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86 %8A
„Alter Bär in den Bergen.“
'GBK: %C9%EE%C9%BD%C0%CF%D0%DC
'UTF-8: %E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
Dimmen Sie URI, Schlüssel
Setze URI = neue Cls_URI
'Alle Parametertests ausgeben
Für jeden Schlüssel in URI.QueryString
Response.Write <span style='color:red'> & key & : </span> & URI.Get(key) & <hr/>
Nächste
'Erhalten Sie einen einzelnen Wert
'URI.Get(name)
'-----------------
„Die ASP UTF-8-Kodierung übernimmt die GBK UTF-8-Kodierung.“
'Autor: Deep Mountain Old Bear QQ:81090
'-----------------
Klasse Cls_URI
Privates o_item,o_regx
Private URL-Abfrage
Private Sub Class_Initialize
Setze o_item = CreateObject(Scripting.Dictionary)
o_item.CompareMode = 1
Setze o_regx = Neuer 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
'Generieren Sie einen simulierten QueryString-Wert basierend auf der QUERY_STRING-Zeichenfolge
Dim i,a,b,c,n,v
a = Split(url_query,&) : c = UBound(a)
Für i = 0 bis c
b = Split(a(i),=,2)
n = Trim(b(0) & )
Wenn UBound(b) < 1, dann
v =
Anders
v = b(1)
Wenn InStr(v,%) > 0, dann v = URLDecode(v)
Ende wenn
Wenn n <> Dann
o_item(n) = v
Ende wenn
Nächste
Setze o_regx = Nichts
Sub beenden
Private Unterklasse_Terminate
Setze o_item = Nichts
Sub beenden
'Request.QueryString simulieren
Öffentliche Funktion QueryString()
Setzen Sie QueryString = o_item
Funktion beenden
'Request.QueryString(n) simulieren
Öffentliche Funktion [GET](n)
Wenn o_item.Exists(n) Dann
[GET] = o_item.Item(n)
Anders
[GET] =
Ende wenn
Funktion beenden
'Kodierungsformat
Private Funktion URLDecode(ByVal s)
Dimmen Sie sm,cs,r,o_regex
Wenn Trim(s & ) = Dann
URLDecode = s: Exit-Funktion
Ende wenn
s = unescape(s)
Wenn o_regx.Test(s) Dann
cs=UTF-8
Anders
cs=GBK
Ende wenn
Setze sm = CreateObject(Adodb.Stream)
Mit sm
.Typ = 2
.Modus = 3
.Offen
.CharSet = ISO-8859-1
.WriteText s
.Position = 0
.CharSet = cs
URLDecode = .ReadText(-1)
.Schließen
Ende mit
Setze sm = Nichts
Funktion beenden
Unterricht beenden
%>