一般的に、ASP環境では、ライブおよび静的操作を実行するときにFSOを使用します。ファイルの操作を専門とするコンポーネントです。 FSOのエンコード属性は3つしかありません。システムのデフォルトはUnicodeとASCIIであり、私たちが望むUTF-8はありません。したがって、中国システムでFSOコンポーネントを使用して生成されたファイルは、GB2312形式です。 Webページにcharset = "utf-8"を書いたとしても、それは役に立たない。
adodb.streamには、FSOの読み取りおよび書き込みファイルがあるため、UTF-8形式でファイルを生成するには、FSOの代わりにadodb.streamを使用してUTF-8ファイルを読み取ります。このようにして、adodb.Streamは、UTF-8を読み書きできるファイルであるだけでなく、基本的にファイルの形式を動作させることができます。もちろん、現在私たちにとってより有用なのは、UTF-8形式でファイルを記述することです。
次の関数は、これらの機能を実装できます。
functionwriteTofile(fileurl、str、charset)
setStm = createObject( "adodb.stream")
stm.type = 2
stm.mode = 3
stm.charset = charset
stm.open
stm.writeTextStr
stm.savetofilefileurl、2
stm.flush
stm.close
setStm = Nothing
エンド機能
charsetで選択できるアイテムはたくさんあります。ここで必要なものを見つけることができます:CodePageCharsetディスプレイ名は中国語と英語です。この関数の関数は、基本的に動的使用と静的使用に使用するFSO関数と同じですが、文字エンコードを選択する追加の属性があります。もちろん、この属性を関数に直接書き込むこともできますが、このように書く方が良いです。他のアイテムを使用して将来他の形式に変換する場合でも、この機能は変更せずに使用できます。
既存のファイルのバッチ変換をUTF-8形式に実装するだけの場合は、次のことを試すことができます。
Batch GB2312からUTF-8、サポートドラッグ、VBS実装