ASP lee el código de función codificado por Request.QueryString. Los amigos que estén aprendiendo ASP pueden consultarlo. 1. ¿Admite el parámetro caracteres chinos puros?a=山老熊
2. Parámetro de soporte gb2312 Codificación Urlencode: ?a=%C9%EE%C9%BD%C0%CF%D0%DC
3. Parámetro de soporte UTF-8 codificación Urlencode: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
Copie el código de código de la siguiente manera:
<%@LANGUAGE=PÁGINA DE CÓDIGOS VBSCRIPT=65001%>
<%
Opción explícita
Constante YXCMS_CHARSET = UTF-8
Constante YXCMS_CODEPAGE = 65001
Respuesta.CharSet = UTF-8
Sesión.CodePage = 65001
'URL de prueba
'?n1=Viejo Oso en las Montañas Profundas&n2=%C9%EE%C9%BD%C0%CF%D0%DC&n3=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86 %8A
'Viejo oso en las montañas
'GBK: %C9%EE%C9%BD%C0%CF%D0%DC
'UTF-8: %E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
URI tenue, clave
Establecer URI = nuevo Cls_URI
'Salida de todas las pruebas de parámetros
Para cada clave en URI.QueryString
Respuesta.Escribir <span style='color:red'> & clave &: </span> & URI.Get(clave) & <hr/>
Próximo
'Obtener un valor único
'URI.Obtener(nombre)
'------------------------------------------------------
'La codificación ASP UTF-8 reemplaza la codificación GBK UTF-8
'Autor: Oso viejo de montaña profunda QQ:81090
'------------------------------------------------------
Clase Cls_URI
Privado o_item,o_regx
consulta_url privada
Subclase privada_Inicializar
Establecer o_item = CreateObject(Scripting.Dictionary)
o_item.CompareMode = 1
Establecer o_regx = Nueva expresión regular
o_regx.Patrón = ^(?:[/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])+ $
Sesión.CodePage = 936
url_query = Solicitud.ServerVariables(QUERY_STRING)
Sesión.CodePage = 65001
'Generar un valor QueryString simulado basado en la cadena QUERY_STRING
Atenuar i,a,b,c,n,v
a = Dividir(url_query,&): c = UBound(a)
Para i = 0 A c
b = Dividir(a(i),=,2)
n = Recortar(b(0) & )
Si UBound(b) < 1 Entonces
v =
Demás
v = b(1)
Si InStr(v,%) > 0 Entonces v = URLDecode(v)
Terminar si
Si n <> entonces
o_elemento(n) = v
Terminar si
Próximo
Establecer o_regx = Nada
Subtítulo final
Subclase privada_Terminar
Establecer o_item = Nada
Subtítulo final
'Simular solicitud.QueryString
Cadena de consulta de función pública()
Establecer QueryString = o_item
Función final
'Simular solicitud.QueryString(n)
Función Pública [GET](n)
Si o_item.Exists(n) Entonces
[OBTENER] = o_item.Item(n)
Demás
[OBTENER] =
Terminar si
Función final
'Formato de codificación
Función privada URLDecode (ByVal s)
Atenuar sm,cs,r,o_regex
Si Trim(s & ) = Entonces
URLDecode = s: Función de salida
Terminar si
s = sin escape(s)
Si o_regx.Test(s) Entonces
cs=UTF-8
Demás
cs=GBK
Terminar si
Establecer sm = CreateObject(Adodb.Stream)
con sm
.Tipo = 2
.Modo = 3
.Abierto
.CharSet = ISO-8859-1
.WriteText s
.Posición = 0
.CharSet = cs
URLDecode = .ReadText(-1)
.Cerca
Terminar con
Establecer sm = Nada
Función final
Fin de clase
%>