aspでは、fsoでUTF-8符号化のtxtを読み取り、生成します。
ダイナミックページがutf 8形式の符号化なので、これを取得してから、ファイルを保存して、生成しました。しかし、アクセスできません。htmlの符号化に問題があるので、gb 2312を選んで正常にアクセスすることができます。これはいけません。全駅は全部utf 8形式の符号化ですので、このページを開けて、コードを選択してからアクセスできます。これは面倒くさいです。訪問する人もいないので、utf 8フォーマットのコード問題を解決しなければなりません。検索してみたら、fsoはutf 8形式のファイルを生成できませんでした。だから、方法を変えます。 wwww.iisboy.comは、ファイルを生成するためにfsoの代わりに関数を見つけました。adodb.streamオブジェクトを使用して、utf 8ファイルを生成します。関数は以下の通りです。
'-------------------------------------------------
' :ReadTextFile
' : AdoDb.Stream UTF-8
'----------------------------------------------------
Function ReadFromTextFile (FileUrl,CharSet)
dim str
set stm=server.CreateObject("adodb.stream")
stm.Type=2 '
stm.mode=3
stm.charset=CharSet
stm.open
stm.loadfromfile server.MapPath(FileUrl)
str=stm.readtext
stm.Close
set stm=nothing www.iisboy.com
ReadFromTextFile=str
End Function
'-------------------------------------------------
' :WriteToTextFile
' : AdoDb.Stream UTF-8
'----------------------------------------------------
Sub 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 server.MapPath(FileUrl),2
stm.flush
stm.Close
set stm=nothing
End Sub IISBOY ,IISBOY.COM
使用方法:
call WriteToTextFile ("../index.html","aaa","utf-8")
解決。