[分享]用ASP读写UTF-8编码的文件

最近一个项目用到这个,为什么呢?因为要用ASP文件来修改ASP文件,也就是说在代码中动态的修改要执行的ASP文件,由于项目是多语种的,所以,最终选用UTF-8统一编码
开始尝试用ASP的FSO对象来完成,在尝试过无数次后,终于死心,FSO对象只能读写ANSI编码的文本文件,并且只能读写文本文件
在GOOGLE上搜了一通,关于ASP,FSO,UTF-8的内容很少,于是,就是自己的书库中找,先是翻了翻中译本的
<ASP3高级编程>,没找到,后来,打开了一本英文书叫<ActiveX Data Object>,是O'reilly出的,忽然间在书中翻到了ADODB.STREAM对象,看到他的范例中用来读写文件.于是尝试用MS的WEBMATRIX的CLASS BROWSER浏览ADODB对象.发现STREAM类原来有LOADFROMFILE和SAVETOFILE方法.并且有一个至关重要的属性CHARSET,这是FSO没有的
于是,经过N次重试,终于写出了两个用于读写UTF-8编码文件的函数来,希望对大家有帮助
下面是代码
None.gif ' -------------------------------------------------
None.gif'
函数名称:ReadTextFile
None.gif'
作用:利用AdoDb.Stream对象来读取UTF-8格式的文本文件
None.gif'
----------------------------------------------------
None.gif
function  ReadFromTextFile (FileUrl,CharSet)
None.gif    
dim  str
None.gif    
set  stm = server. CreateObject ( " adodb.stream " )
None.gif    stm.Type
= 2   ' 以本模式读取
None.gif
    stm.mode = 3  
None.gif    stm.charset
= CharSet
None.gif    stm.open
None.gif    stm.loadfromfile server.MapPath(FileUrl)
None.gif    str
= stm.readtext
None.gif    stm.Close
None.gif    
set  stm = nothing
None.gif    ReadFromTextFile
= str
None.gif
end function
None.gif
' -------------------------------------------------
None.gif'
函数名称:WriteToTextFile
None.gif'
作用:利用AdoDb.Stream对象来写入UTF-8格式的文本文件
None.gif'
----------------------------------------------------
None.gif
Sub  WriteToTextFile (FileUrl,byval Str,CharSet)        
None.gif    
set  stm = server. CreateObject ( " adodb.stream " )
None.gif    stm.Type
= 2   ' 以本模式读取
None.gif
    stm.mode = 3
None.gif    stm.charset
= CharSet
None.gif    stm.open
None.gif    stm.WriteText str
None.gif    stm.SaveToFile server.MapPath(FileUrl),
2     
None.gif    stm.flush
None.gif    stm.Close
None.gif    
set  stm = nothing
None.gif
end Sub

转载于:https://www.cnblogs.com/Heroman/archive/2005/06/30/183902.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值