Cara terbaik:
Izinkan saya berbicara tentang dasar -dasarnya terlebih dahulu:
<%@ codepage = 65001%> UTF-8
<%@ codepage = 936%> Cina disederhanakan
<%@ codepage = 950%> Cina tradisional
< %@ codepage = 437 %> A.S./canada bahasa Inggris
< %@ codepage = 932 %> Jepang
< %@ codepage = 949 %> Korea
< %@ codepage = 866 %> Rusia
Codepage Menentukan kode apa yang dibaca IIS string yang dilewati (pengiriman formulir, pengiriman batang alamat, dll.).
Alasan kode kacau adalah bahwa pengkodean modul berbeda ketika situs web perlu diintegrasikan.
Sama seperti blog saya, masalah ini akan terjadi ketika berintegrasi karena blognya dari UTF-8.
Baru -baru ini, banyak netizen telah berkonsultasi tentang masalah ini, dan saya telah mencoba banyak metode.
Metode yang paling nyaman adalah sebagai berikut:
Jangan mengonversi halaman web modul apa pun yang mengkode UTF-8 atau UTF-8, dan GB22312 atau GB2312
Dalam dokumentasi paket Modul UTF-8 (seperti Conn.asp, tetapi ketahuilah bahwa Conn.asp harus dipanggil pada baris pertama) Tambahkan baris pertama.
<%@Language = "vbscript" codepage = "65001"%>
<%Session.codepage = 65001%>
Tambahkan di depan dokumen paket modul GB2312
<%@Language = "vbscript" codepage = "936"%>
<%Session.codepage = 936%>
Pengkodean lain dan sebagainya.
Konversi antara karakter Cina dan UTF-8 di ASP
'================== Konversi karakter Cina menjadi UTF-8 ===========================
Fungsi China2unicode (STR)
untuk i = 1 ke 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)
Berikutnya
China2Unicode = str_unicode
fungsi akhir
'================== UTF-8 dikonversi menjadi karakter Cina ==========================
Fungsi UTF2GB (UTFSTR)
Untuk Dig = 1 ke Len (UTFSTR)
Jika mid (utfstr, gali, 1) = "%" lalu
if len (utfstr)> = Dig+8 lalu
GBSTR = GBSTR & Convchinese (Mid (UTFSTR, Dig, 9))
Dig = Dig+8
kalau tidak
GBSTR = GBSTR & MID (UTFSTR, Dig, 1)
akhiri jika
kalau tidak
GBSTR = GBSTR & MID (UTFSTR, Dig, 1)
akhiri jika
Berikutnya
UTF2GB = GBSTR
fungsi akhir
Fungsi Convchinese (x)
A = split (mid (x, 2), "%")
i = 0
j = 0
untuk i = 0 ke ubund (a)
A (i) = c16to2 (a (i))
Berikutnya
untuk i = 0 ke ubund (a) -1
Gali = instr (a (i), "0")
Unicode = ""
untuk j = 1 untuk menggali-1
Jika j = 1 maka
A (i) = kanan (a (i), len (a (i))-penggalian)
Unicode = unicode & a (i)
kalau tidak
i = i+1
A (i) = kanan (a (i), len (a (i))-2)
Unicode = unicode & a (i)
akhiri jika
Berikutnya
jika len (c2to16 (unicode)) = 4 lalu
Convchinese = convchinese & chrw (int ("& h" & c2to16 (unicode)))))
kalau tidak
Convchinese = Convchinese & Chr (int ("& H" & C2TO16 (Unicode))))
akhiri jika
Berikutnya
fungsi akhir
fungsi c2to16 (x)
i = 1
untuk i = 1 ke len (x) Langkah 4
C2TO16 = C2TO16 & HEX (C2TO10 (MID (X, I, 4)))
Berikutnya
fungsi akhir
fungsi c2to10 (x)
C2TO10 = 0
Jika x = "0" maka fungsi keluar
i = 0
untuk i = 0 ke len (x) -1
Jika mid (x, len (x) -i, 1) = "1" maka c2to10 = c2to10+2^(i)
Berikutnya
fungsi akhir
fungsi c16to2 (x)
i = 0
untuk i = 1 ke len (trim (x))
Tempstr = C10TO2 (CINT (int (int ("& h" & mid (x, i, 1)))))