A melhor maneira:
Deixe -me falar sobre o básico primeiro:
<%@ codePage = 65001%> UTF-8
<%@ codePage = 936%> Chinês simplificado
<%@ codePage = 950%> Chinês tradicional
< %@ codePage = 437 %> U.S./Canada English
< %@ codePage = 932 %> japonês
< %@ codePage = 949 %> coreano
< %@ codePage = 866 %> russo
O CodePage especifica qual código o IIS lê a string passada (envio de formulário, entrega da barra de endereço, etc.).
O motivo do código ilegal é que a codificação do módulo é diferente quando o site precisa ser integrado.
Assim como o meu blog, esse problema ocorrerá quando se integrando porque o blog é do UTF-8.
Recentemente, muitos internautas têm consultado esse assunto, e eu tentei muitos métodos.
O método mais conveniente é o seguinte:
Não converta nenhuma página da web do módulo que codifique o UTF-8 ou UTF-8 e o GB22312 ou GB2312
Na documentação do pacote do módulo UTF-8 (como Conn.asp, mas esteja ciente de que o Conn.asp deve ser chamado na primeira linha), adicione a primeira linha.
<%@Idioma = "vBScript" codePage = "65001"%>
<%Session.codePage = 65001%>
Adicione na frente do documento do pacote do módulo GB2312
<%@Idioma = "vBScript" codePage = "936"%>
<%Session.codePage = 936%>
Outras codificações e assim por diante.
Conversão entre caracteres chineses e UTF-8 no ASP
'================== Converta caracteres chineses para UTF-8 ============================
função chinesa2unicode (str)
para i = 1 a len (str)
Str_one = mid (str, i, 1)
Str_unicode = str_unicode & ch (38)
Str_unicode = str_unicode & ch (35)
Str_unicode = str_unicode & chr (120)
Str_unicode = str_unicode & hex (ASCW (str_one))
Str_unicode = str_unicode & ch (59)
próximo
chinês2Unicode = str_unicode
Função final
'=================== UTF-8 convertido em caracteres chineses ==========================
função utf2gb (utfstr)
para escav = 1 a len (utfstr)
Se MID (UTFSTR, DIG, 1) = "%" então
Se Len (utfstr)> = Dig+8 então
GBSTR = GBSTR & CONVCHINESSE (MID (UTFSTR, DIG, 9))
Escav = escava+8
outro
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
final se
outro
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
final se
próximo
Utf2gb = gbStr
Função final
função convchinês (x)
A = divisão (MID (x, 2), "%")
i = 0
j = 0
para i = 0 para ubund (a)
A (i) = c16to2 (a (i))
próximo
para i = 0 a ubund (a) -1
Digs = Instr (a (i), "0")
Unicode = ""
para j = 1 para escavações-1
Se J = 1 então
A (i) = direita (a (i), len (a (i))-escavações)
Unicode = unicode & a (i)
outro
i = i+1
A (i) = certo (a (i), len (a (i))-2)
Unicode = unicode & a (i)
final se
próximo
Se Len (C2to16 (unicode)) = 4 então
Convchinese = Convchinese & Chrw (int ("& h" & c2to16 (unicode))))
outro
Convchinese = Convchinese & Chr (int ("& h" & c2to16 (unicode))))
final se
próximo
Função final
função c2to16 (x)
i = 1
para i = 1 a len (x) Etapa 4
C2TO16 = C2TO16 & Hex (C2TO10 (MID (X, i, 4)))
próximo
Função final
função c2to10 (x)
c2to10 = 0
Se x = "0", então a função de saída
i = 0
para i = 0 a len (x) -1
Se mid (x, len (x) -i, 1) = "1" então c2to10 = c2to10+2^(i)
próximo
Função final
função c16to2 (x)
i = 0
para i = 1 a Len (Trim (x))
tempstr = c10to2 (cint (int (int ("& h" & mid (x, i, 1))))