最近、私はこのことに取り組んでおり、オンラインでASP関連のものを見つけることができません。誰かが非常に早くそれを作っても、冗談を言ってはいけません。最終的にそれを成し遂げるのに長い時間がかかりました。
原則:ストリームオブジェクトを使用して、ファイルの最初の2バイトを読み取り、UTF-8、Unicode、およびANSIのエンコーディング(簡素化された中国のオペレーティングシステム、つまりGB2312)のエンコードを分析および決定します。
関連情報:
ANSI:定義されていない定義。
Unicode:最初の2つのバイトはfffeです。
UnicodeBigendian:最初の2つのバイトはFeffです。
UTF-8:最初の2バイトはEFBBです。
次のようにコードをコピーします:functionCheckCode(PATH)
setobjstream = server.createObject( "adodb.stream")
objstream.type = 1
objstream.mode = 3
objstream.open
objstream.position = 0
objstream.loadfromfilepath
bintou = objstream.read(2)
IFASCB(Midb(bintou、1,1))=&hefandascb(midb(bintou、2,1))=&hbbthen
checkcoder = "utf-8"
elseifascb(midb(bintou、1,1))=&hffandascb(midb(bintou、2,1))=&hfethen
checkcode = "unicode"
それ以外
checkcode = "gb2312"
endif
objstream.close
setobjstream =何もない
エンド機能
補充:
Xie Xiaoyuは、前のものは単にナンセンスだったことを思い出させました。 ANSIのローカルエンコーディングは、各国自体によって定義されており、固定ファイルヘッダー形式はありません。中国本土のオペレーティングシステムの下では、読みやすいGB2312であり、他の言語システムの下では文字化けされているため、この部分を詳細に区別する必要はありません。
ファイルのエンコードを取得すると、必要なエンコードとしてストリームを開くことができ、文字化けコードはありません。