aspでは、fsoでUTF-8符号化のtxtを読み取り、生成します。

1759 ワード

ダイナミックページが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")
解決。