您当前的位置:天天ASP(学习网)ASP编程进阶技巧 → 文章内容

fso读取和生成txt 编码UTF-8

作者:本站  来源:本站整理  发布时间:2014-1-1 16:24:37
利用fso.OpenTextFil读取UTF-8文件或者用FSO.save生成UTF-8文件时乱码解决办法生成静态页使用的方法是读取asp页面的html代码,保存为html文件,这种方法。由于动态页是utf8格式的编码,我得到它的html代码后,使用fso保存,生成html是成功了,但是不能访问,因为html的编码有问题,选择gb2312就可以正常访问了。这样不行,因为整站都是utf8格式的编码,打开这个页面,还需要选择编码才可访问,这样太麻烦了,也没有人愿意去访问,所以必须解决utf8格式编码问题。 
经过一翻搜索才了发现,fso不能生成utf8格式的文件。所以要换种方法。  
又找了一会,找到一个函数,可代替fso生成文件,它使用的adodb.stream对象来生成utf8文件的,函数如下: 
’------------------------------------------------- 
’函数名称: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")  
文章评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。)