最近在为网站添加一个内容,涉及到在线读取和写入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 |
|