fso.OpenTextFil を使用して UTF-8 ファイルを読み取る場合、または FSO.save を使用して UTF-8 ファイルを生成する場合の文字化けの解決策は、静的ページの生成に使用される方法は、ASP ページの HTML コードを読み取り、それをファイルとして保存することです。このhtmlファイル。
動的ページは utf8 形式でエンコードされているため、html コードを取得した後、fso を使用して保存しましたが、html エンコードに問題があるためアクセスできません。gb2312 を選択するとアクセスできます。普通にアクセスしてください。このページを開くには、アクセスする前にエンコーディングを選択する必要があるため、これは機能しません。あまりにも面倒なので、誰もアクセスしようとしません。問題を解決しなければなりません。
いくつか検索した結果、fso では utf8 形式のファイルを生成できないことがわかりました。したがって、別のアプローチを試してください。
しばらく探したところ、fso の代わりにファイルを生成できる関数を見つけました。これは adodb.stream オブジェクトを使用して utf8 ファイルを生成します。関数は次のとおりです。
次のようにコードをコピーします。
'------------------------------------------------
'関数名: ReadTextFile
'機能: AdoDb.Stream オブジェクトを使用して、UTF-8 形式のテキスト ファイルを読み取ります
'------------------------------------------------ - --
関数 ReadFromTextFile (FileUrl,CharSet)
ディムストラ
set stm=server.CreateObject("adodb.stream")
stm.Type=2 'このモードで読み取ります
stm.mode=3
stm.charset=CharSet
stm.open
stm.loadfromfile サーバー.MapPath(FileUrl)
str=stm.readtext
stm.閉じる
set stm=nothing この記事の由来
ReadFromTextFile=str
終了機能
'------------------------------------------------
'関数名:WriteToTextFile
'機能: AdoDb.Stream オブジェクトを使用してテキスト ファイルを UTF-8 形式で書き込みます
'------------------------------------------------ - --
サブ WriteToTextFile (FileUrl、byval Str、CharSet)
set stm=server.CreateObject("adodb.stream")
stm.Type=2 'このモードで読み取ります
stm.mode=3
stm.charset=CharSet
stm.open
stm.WriteText str
stm.SaveToFile サーバー.MapPath(FileUrl),2
stm.flush
stm.閉じる
stm=何も設定しない
End Sub IISBOY.COM,IISBOY.COM
使用方法:
次のようにコードをコピーします。
WriteToTextFile ("../index.html","aaa","utf-8") を呼び出す
終わり。