Лучший способ:
Позвольте мне сначала поговорить о основаниях:
<%@ CodePage = 65001%> UTF-8
<%@ CodePage = 936%> Упрощенный китайский
<%@ CodePage = 950%> Традиционный китайский
< %@ CodePage = 437 %> U.S./Canada English
< %@ CodePage = 932 %> Японский
< %@ CodePage = 949 %> Корейский
< %@ CodePage = 866 %> русский
CodePage указывает, какой код IIS считывает пропущенную строку (подача формы, доставка адресной полосы и т. Д.).
Причина искаженного кода заключается в том, что кодирование модуля отличается, когда веб -сайт должен быть интегрирован.
Как и мой блог, эта проблема возникнет при интеграции, потому что блог от UTF-8.
Недавно многие пользователи сети консультировались по этому вопросу, и я пробовал много методов.
Наиболее удобный метод заключается в следующем:
Не преобразуйте какую-либо модульную веб-страницу, кодирующую UTF-8 или UTF-8, и GB22312 или GB2312
В документации пакета модулей UTF-8 (например, Conn.ASP, но имейте в виду, что Conn.ASP должен быть вызван в первой строке), добавьте первую строку.
<%@Language = "vbscript" codepage = "65001"%>
<%Session.codepage = 65001%>
Добавить перед пакетным документом модуля GB2312
<%@Language = "vbscript" codepage = "936"%>
<%Session.codepage = 936%>
Другие кодировки и так далее.
Преобразование между китайскими иерогликами и UTF-8 в ASP
'================= Конвертируйте китайские иероглифы в UTF-8 ==============================================================
Функция китайского 2unicode (str)
для i = 1 до Лена (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)
следующий
Китайский 2unicode = str_unicode
конечная функция
'================= UTF-8 преобразовано в китайские иероглифы =================================================
Функция UTF2GB (UTFSTR)
для Dig = 1 к Len (UTFSTR)
Если Mid (utfstr, Dig, 1) = "%" Тогда
Если len (utfstr)> = Dig+8, то тогда
GBSTR = GBSTR & CROVCHINESE (MID (UTFSTR, DIG, 9))
Dig = Dig+8
еще
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
конец, если
еще
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
конец, если
следующий
UTF2GB = GBSTR
конечная функция
Функция Convchinese (x)
A = раскол (середина (x, 2), "%")
i = 0
j = 0
для i = 0 до ubund (a)
A (i) = c16to2 (a (i))
следующий
для i = 0 до ubund (a) -1
Digs = instr (a (i), "0")
Unicode = ""
для j = 1 до раскопок-1
Если j = 1 то
A (i) = right (a (i), len (a (i))-раскопки)
Unicode = Unicode & A (i)
еще
i = i+1
A (i) = right (a (i), len (a (i))-2)
Unicode = Unicode & A (i)
конец, если
следующий
Если len (c2to16 (unicode)) = 4 then
Convchinese = convchinese & chrw (int ("& h" & c2to16 (Unicode)))))
еще
Convchinese = convchinese & chr (int ("& h" & c2to16 (unicode))))))
конец, если
следующий
конечная функция
Функция C2TO16 (x)
i = 1
для i = 1 до Len (x) Шаг 4
C2TO16 = C2TO16 & HEX (C2TO10 (MID (X, I, 4)))))
следующий
конечная функция
Функция C2TO10 (x)
C2TO10 = 0
Если x = "0", тогда функция выхода
i = 0
для i = 0 до len (x) -1
Если Mid (x, len (x) -i, 1) = "1", то C2TO10 = C2TO10+2^(i)
следующий
конечная функция
Функция C16TO2 (x)
i = 0
для i = 1 к Len (Trim (x))
tempstr = c10to2 (cint (int (int ("& h" & mid (x, i, 1)))))))))))))