Der beste Weg:
Lassen Sie mich zuerst über die Grundlagen sprechen:
<%@ Codepage = 65001%> UTF-8
<%@ Codepage = 936%> Vereinfachtes Chinesisch
<%@ codepage = 950%> herkömmliches Chinesisch
< %@ codepage = 437 %> USA/Canada Englisch
< %@ Codepage = 932 %> Japanisch
< %@ Codepage = 949 %> Koreanisch
< %@ Codepage = 866 %> Russisch
Codepage gibt an, welchen Code IIS die übergebene Zeichenfolge liest (Formulareingabe, Adressleistenzustellung usw.).
Der Grund für verstümmelten Code ist, dass die Modulcodierung anders ist, wenn die Website integriert werden muss.
Genau wie in meinem Blog wird dieses Problem bei der Integration auftreten, da der Blog von UTF-8 stammt.
In jüngster Zeit haben viele Internetnutzer zu diesem Thema konsultiert, und ich habe viele Methoden ausprobiert.
Die bequemste Methode ist wie folgt:
Konvertieren Sie keine Modul-Webseite, die den UTF-8 oder UTF-8 und den GB22312 oder GB2312 codieren
Fügen Sie in der UTF-8-Modulpaketdokumentation (z. B. Conn.asp, aber beachten Sie, dass Conn.asp in der ersten Zeile aufgerufen werden muss) die erste Zeile.
<%@Sprache = "vbscript" Codepage = "65001"%>
<%Sitzung.CodePage = 65001%>
Fügen Sie vor dem Paketdokument des GB2312 -Moduls hinzu
<%@Sprache = "vbscript" Codepage = "936"%>
<%Sitzung.CodePage = 936%>
Andere Codierungen und so weiter.
Konvertierung zwischen chinesischen Zeichen und UTF-8 in ASP
'================== Convert Chinese characters to UTF-8==========================
Funktion Chinese2Unicode (STR)
für i = 1 bis 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)
nächste
CHITER2UNICODE = str_unicode
Endfunktion
'================== UTF-8 converted to Chinese characters=========================
Funktion UTF2GB (UTFSTR)
für dig = 1 bis len (utfstr)
Wenn MID (UTFSTR, DIG, 1) = "%", dann
Wenn len (utfstr)> = dig+8 dann dann
Gbstr = gbstr & Convchinese (Mid (Utfstr, Dig, 9))
Dig = dig+8
anders
Gbstr = gbstr & mid (utfstr, dig, 1)
Ende wenn
anders
Gbstr = gbstr & mid (utfstr, dig, 1)
Ende wenn
nächste
UTF2GB = GBTR
Endfunktion
Funktion Convchinese (x)
A = Split (Mid (x, 2), "%")
I = 0
J = 0
für i = 0 bis ubund (a)
A (i) = c16to2 (a (i))
nächste
für i = 0 bis ubund (a) -1
Digs = instr (a (i), "0")
Unicode = ""
für j = 1 bis digs-1
Wenn J = 1 dann
A (i) = rechts (a (i), len (a (i))-graben)
Unicode = unicode & a (i)
anders
i = i+1
A (i) = rechts (a (i), len (a (i))-2)
Unicode = unicode & a (i)
Ende wenn
nächste
Wenn Len (c2to16 (unicode)) = 4 dann
Convchinese = Convchinese & chrw (int ("& h" & c2to16 (Unicode)))
anders
Convchinese = Convchinese & chr (int ("& h" & c2to16 (Unicode)))
Ende wenn
nächste
Endfunktion
Funktion c2to16 (x)
I = 1
für i = 1 bis len (x) Schritt 4
C2to16 = C2to16 & Hex (C2TO10 (MID (X, I, 4)))
nächste
Endfunktion
Funktion c2to10 (x)
C2to10 = 0
Wenn x = "0" dann beenden Sie die Funktion
I = 0
für i = 0 bis len (x) -1
Wenn mittel (x, len (x) -i, 1) = "1", dann c2to10 = c2to10+2^(i)
nächste
Endfunktion
Funktion c16to2 (x)
I = 0
für i = 1 bis len (trim (x))
tempstr = c10to2 (cint (int (int ("& h" & Mid (x, i, 1))))