La meilleure façon:
Permettez-moi d'abord de parler des bases:
<% @ codepage = 65001%> UTF-8
<% @ codepage = 936%> chinois simplifié
<% @ codepage = 950%> chinois traditionnel
<% @ codepage = 437%> U.S./canada anglais
<% @ codepage = 932%> Japonais
<% @ codepage = 949%> coréen
<% @ codepage = 866%> russe
CodePage spécifie quel code IIS lit la chaîne passée (soumission de formulaire, livraison de barre d'adresse, etc.).
La raison du code brouillé est que le codage du module est différent lorsque le site Web doit être intégré.
Tout comme mon blog, ce problème se produira lors de l'intégration parce que le blog provient de l'UTF-8.
Récemment, de nombreux internautes ont consulté sur cette question et j'ai essayé de nombreuses méthodes.
La méthode la plus pratique est la suivante:
Ne convertissez aucune page Web de module codant pour UTF-8 ou UTF-8 et le GB22312 ou GB2312
Dans la documentation du package du module UTF-8 (comme Conn.asp, mais sachez que Conn.asp doit être appelé sur la première ligne), ajoutez la première ligne.
<% @ Lingots = "vbscript" codepage = "65001"%>
<% Session.codepage = 65001%>
Ajouter devant le document de package du module GB2312
<% @ Lingots = "vbscript" codepage = "936"%>
<% Session.codepage = 936%>
D'autres encodages et ainsi de suite.
Conversion entre les caractères chinois et UTF-8 dans ASP
'================== Convertir les caractères chinois en UTF-8 ========================.
fonction chinois2Unicode (str)
pour i = 1 à Len (str)
Str_one = mid (str, i, 1)
Str_unicode = str_unicode & chr (38)
Str_unicode = str_unicode & chr (35)
Str_unicode = str_unicode & chr (120)
Str_unicode = str_unicode & hex (ascw (str_one))
Str_unicode = str_unicode & chr (59)
suivant
chinois2unicode = str_unicode
fonction finale
'================== UTF-8 Converti en caractères chinois =======================
fonction utf2gb (utfstr)
pour Dig = 1 à Len (UTFSTR)
Si mid (utfstr, dig, 1) = "%" alors
Si Len (utfstr)> = DIG + 8 alors
Gbstr = gbstr & convchinese (mid (utfstr, dig, 9))
DIG = DIG + 8
autre
Gbstr = gbstr & mid (utfstr, dig, 1)
terminer si
autre
Gbstr = gbstr & mid (utfstr, dig, 1)
terminer si
suivant
UTF2GB = GBSTR
fonction finale
fonction convchinese (x)
A = divisé (mid (x, 2), "%")
i = 0
j = 0
pour i = 0 à ubund (a)
A (i) = c16to2 (a (i))
suivant
pour i = 0 à ubund (a) -1
DIGS = instr (a (i), "0")
Unicode = ""
pour j = 1 à creuser-1
Si j = 1 alors
A (i) = à droite (a (i), len (a (i)) - creuse)
Unicode = Unicode et A (I)
autre
i = i + 1
A (i) = à droite (a (i), len (a (i)) - 2)
Unicode = Unicode et A (I)
terminer si
suivant
Si Len (C2TO16 (Unicode)) = 4 alors
Convchinese = Convchinese & chrw (int ("& h" & c2to16 (Unicode))))
autre
Convchinese = Convchinese & Chr (int ("& h" & c2to16 (Unicode))))
terminer si
suivant
fonction finale
Fonction C2TO16 (x)
i = 1
pour i = 1 à len (x) Étape 4
C2TO16 = C2TO16 & HEX (C2TO10 (MID (X, I, 4)))
suivant
fonction finale
fonction C2TO10 (x)
c2to10 = 0
Si x = "0", alors la fonction de sortie
i = 0
pour i = 0 à len (x) -1
Si mid (x, len (x) -i, 1) = "1" alors c2to10 = c2to10 + 2 ^ (i)
suivant
fonction finale
Fonction C16TO2 (x)
i = 0
pour i = 1 à Len (Trim (x))
TEMPSTR = C10TO2 (CINT (int (int ("& h" & mid (x, i, 1)))))