欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp中通过fso读取和生成UTF-8编码的txt

程序员文章站 2022-05-03 16:34:23
由于动态页是utf8格式的编码,我得到它的html代码后,使用fso保存,生成html是成功了,但是不能访问,因为html的编码有问题,选择gb2312就可以正常访问了。这...

由于动态页是utf8格式的编码,我得到它的html代码后,使用fso保存,生成html是成功了,但是不能访问,因为html的编码有问题,选择gb2312就可以正常访问了。这样不行,因为整站都是utf8格式的编码,打开这个页面,还需要选择编码才可访问,这样太麻烦了,也没有人愿意去访问,所以必须解决utf8格式编码问题。
经过一翻搜索才了发现,fso不能生成utf8格式的文件。所以要换种方法。  www.iisboy.com
又找了一会,找到一个函数,可代替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")

搞定。