您当前的位置:首页 > 建站知识 > 编程知识

利用AdoDb.Stream对象来读写UTF-8格式的文本文件

发布时间: 2015-11-26 │ 浏览:3661 

    把网页l静态化,这是深圳做网站的公司常做的工作,目的是提高搜索引擎收录。我之前用fso组件实现文件读写操作,最近统一把网站改成utf-8编码,发现fso读写操作会出现乱码,幸好我的老前辈告诉,utf-8编码时要用AdoDb.Stream。在这里就整理出AdoDb.Stream对象读写UTF-8格式的ASP函数,以后还会经常用到:

'-------------------------------------------------
'函数名称: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
    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


‘------------------------------------
'调用方法
strOut=ReadFromTextFile("template.asp","utf-8")

call WriteToTextFile(“to.htm”,strOut,"utf-8")