ASP lê o código de função codificado por Request.QueryString. Amigos que estão aprendendo asp podem consultá-lo. 1. Suporta o parâmetro caracteres chineses puros?a=山老熊
2. Codificação Urlencode do parâmetro de suporte gb2312: ?a=%C9%EE%C9%BD%C0%CF%D0%DC
3. Parâmetro de suporte à codificação Urlencode UTF-8: ?a=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
Copie o código do código da seguinte forma:
<%@LANGUAGE=PÁGINA DE CÓDIGO VBSCRIPT=65001%>
<%
Opção Explícita
Const YXCMS_CHARSET = UTF-8
Const YXCMS_CODEPAGE = 65001
Resposta.CharSet = UTF-8
Sessão.CodePage = 65001
'URL de teste
'?n1=Velho Urso nas Montanhas Profundas&n2=%C9%EE%C9%BD%C0%CF%D0%DC&n3=%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86 %8A
'Velho Urso nas Montanhas
'GBK: %C9%EE%C9%BD%C0%CF%D0%DC
'UTF-8:%E6%B7%B1%E5%B1%B1%E8%80%81%E7%86%8A
Escurecer URI,chave
Definir URI = novo Cls_URI
'Saída de todos os testes de parâmetros
Para cada chave em URI.QueryString
Response.Write <span style='color:red'> & key & : </span> & URI.Get(key) & <hr/>
Próximo
'Obter um único valor
'URI.Get(nome)
'----------------------------------------------------------
'A codificação ASP UTF-8 assume a codificação GBK UTF-8
'Autor: Velho Urso da Montanha Profunda QQ: 81090
'----------------------------------------------------------
Classe Cls_URI
Privado o_item,o_regx
URL_query privada
Subclasse Privada_Initialize
Definir o_item = CreateObject(Scripting.Dictionary)
o_item.CompareMode = 1
Definir o_regx = Novo Regexp
o_regx.Padrão = ^(?:[/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])+ $
Sessão.CodePage = 936
url_query = Solicitação.ServerVariables(QUERY_STRING)
Sessão.CodePage = 65001
'Gera um valor QueryString simulado baseado na string QUERY_STRING
Dim i,a,b,c,n,v
a = Dividir(url_query,&): c = UBound(a)
Para eu = 0 Para c
b = Divisão(a(i),=,2)
n = Aparar(b(0) & )
Se UBound (b) <1 então
v =
Outro
v = b(1)
Se InStr(v,%) > 0 Então v = URLDecode(v)
Terminar se
Se n <> Então
o_item(n) = v
Terminar se
Próximo
Definir o_regx = Nada
Finalizar sub
Subclasse Privada_Terminate
Definir o_item = Nada
Finalizar sub
'Simular Request.QueryString
Função Pública QueryString()
Definir QueryString = o_item
Função final
'Simular Request.QueryString(n)
Função Pública [GET](n)
Se o_item.Exists(n) Então
[OBTER] = o_item.Item(n)
Outro
[OBTER] =
Terminar se
Função final
'Formato de codificação
Função privada URLDecode (ByVal s)
Dim sm,cs,r,o_regex
Se Trim(s & ) = Então
URLDecode = s: função de saída
Terminar se
s = sem escape(s)
Se o_regx.Test(s) Então
cs=UTF-8
Outro
cs=GBK
Terminar se
Definir sm = CreateObject(Adodb.Stream)
Com sm
.Tipo = 2
.Modo = 3
.Abrir
.CharSet = ISO-8859-1
.WriteTexts
.Posição = 0
.CharSet=cs
URLDecode = .ReadText(-1)
.Fechar
Terminar com
Definir sm = Nada
Função final
Fim da aula
%>