最良の方法:
最初に基本について話させてください:
<%@ codepage = 65001%> utf-8
<%@ codepage = 936%>単純化された中国人
<%@ codepage = 950%>従来の中国語
<%@ codepage = 437%> U.S./Canada English
<%@ codepage = 932%>日本語
<%@ codepage = 949%>韓国語
<%@ codepage = 866%>ロシア語
CodePageは、渡された文字列(フォームの提出、アドレスバー配信など)を読み取るコードを指定します。
Carled Codeの理由は、Webサイトを統合する必要があるときにモジュールエンコードが異なるためです。
私のブログと同じように、ブログはUTF-8からのものであるため、この問題は統合するときに発生します。
最近、多くのネチズンがこの問題について相談しており、私は多くの方法を試しました。
最も便利な方法は次のとおりです。
UTF-8またはUTF-8、およびGB22312またはGB2312をエンコードするモジュールWebページを変換しないでください
UTF-8モジュールパッケージのドキュメント(conn.aspなど。ただし、最初の行でconn.aspを呼び出す必要があることに注意してください)。
<%@言語= "vbscript" codepage = "65001"%>
<%session.codepage = 65001%>
GB2312モジュールのパッケージドキュメントの前に追加
<%@言語= "vbscript" codepage = "936"%>
<%session.codepage = 936%>
その他のエンコーディングなど。
ASPの漢字とUTF-8間の変換
'=================漢字をUTF-8に変換===============================================
functionshine2unicode(str)
i = 1 to 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)
次
Mishnos2unicode = str_unicode
エンド関数
'==================================================================================================
関数UTF2GB(UTFSTR)
dig = 1 to len(utfstr)
mid(utfstr、dig、1)= "%" thenの場合
Len(utfstr)> = dig+8の場合
gbstr = gbstr&convchinese(mid(utfstr、dig、9))
dig = dig+8
それ以外
GBSTR = GBSTR&MID(UTFSTR、DIG、1)
ifを終了します
それ以外
GBSTR = GBSTR&MID(UTFSTR、DIG、1)
ifを終了します
次
UTF2GB = GBSTR
エンド関数
function convchinese(x)
a = split(mid(x、2)、 "%")
i = 0
j = 0
i = 0からubund(a)
a(i)= c16to2(a(i))
次
i = 0からubund(a)-1
digs = strust(a(i)、 "0")
unicode = ""
j = 1からdigs-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)
ifを終了します
次
LEN(C2TO16(Unicode))= 4の場合
Convchinese = convchinese&chrw(int( "&h"&c2to16(unicode)))
それ以外
convchinese = convchinese&chr(int( "&h"&c2to16(unicode)))
ifを終了します
次
エンド関数
関数c2to16(x)
i = 1
i = 1の場合(x)ステップ4
c2to16 = c2to16&hex(c2to10(mid(x、i、4)))
次
エンド関数
関数C2TO10(x)
C2TO10 = 0
x = "0"の場合、機能を終了します
i = 0
i = 0の場合(x)-1
mid(x、len(x)-i、1)= "1"、c2to10 = c2to10+2^(i)
次
エンド関数
関数c16to2(x)
i = 0
i = 1 to len(trim(x))へ
tempstr = c10to2(cint(int( "&h"&mid(x、i、1))))))