分享

Adodb.Stream读取和写入UTF-8编码的文件

 Vb技巧 2012-12-02

 

  最近在为网站添加一个内容,涉及到在线读取和写入UTF-8编码的文件,才发现FSO对象只能读写ANSI编码的文件,无法读写UTF-8编码的文件,琢磨了半天,终于在网上找到一个很实用的函数,完整的代码如下:

'函数名称:ReadTextFile

'作用:利用Adodb.Stream对象来读取UTF-8编码的文件

'示例:Call ReadFromTextFile("File/FileName.htm","UTF-8")

Function ReadFromTextFile(FileUrl,CharSet)

    dim str

    set stm=server.CreateObject("adodb.stream")

    stm.Type=2            '2-文本模式读取,1-二进制模式

    stm.mode=3            '3-读写,1-读,2-

    stm.charset=CharSet   ‘unicode|utf-8;Ascii; gb2312; big5; gbk

    stm.open

    stm.loadfromfile server.MapPath(FileUrl)

    str=stm.readtext

    stm.Close

    set stm=nothing

    ReadFromTextFile=str

End Function

 

'函数名称:WriteToTextFile

'作用:利用Adodb.Stream对象来写入UTF-8编码的文件

'示例:Call WriteToTextFile("File/FileName.htm",Content,"UTF-8")

Sub WriteToTextFile(FileUrl,byval Str,CharSet)

    set stm=server.CreateObject("adodb.stream")

stm.Type=2             '2-文本模式读取,1-二进制模式

    stm.mode=3             '3-读写,1-读,2-

    stm.charset=CharSet     ‘unicode|utf-8;Ascii; gb2312; big5; gbk;

    stm.open

    stm.WriteText str

stm.SaveToFile server.MapPath(FileUrl),2 ‘2可省略,adSaveCreateNotExist =1 , adSaveCreateOverWrite =2

 

    stm.flush

    stm.Close

   set stm=nothing

End Sub

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多