| 由于动态页是utf8格式的编码,我得到它的html代码后,使用fso保存,生成html是成功了,但是不能访问,因为html的编码有问题,选择gb2312就可以正常访问了。这样不行,因为整站都是utf8格式的编码,打开这个页面,还需要选择编码才可访问,这样太麻烦了,也没有人愿意去访问,所以必须解决utf8格式编码问题。 经过一翻搜索才了发现,fso不能生成utf8格式的文件。所以要换种方法。nbsp; www.iisboy.com
 又找了一会,找到一个函数,可代替fso生成文件,它使用的adodb.stream对象来生成utf8文件的,函数如下:
 复制代码 代码如下:'-------------------------------------------------
 '函数名称:ReadTextFile
 '作用:利用AdoDb.Stream对象来读取UTF-8格式的文本文件
 '----------------------------------------------------
 Function ReadFromTextFile (FileUrl,CharSet)
 nbsp;nbsp;nbsp; dim str
 nbsp;nbsp;nbsp; set stm=server.CreateObject("adodb.stream")
 nbsp;nbsp;nbsp;nbsp; stm.Type=2 '以本模式读取
 nbsp;nbsp;nbsp;nbsp; stm.mode=3nbsp;
 nbsp;nbsp;nbsp;nbsp; stm.charset=CharSet
 nbsp;nbsp;nbsp;nbsp; stm.open
 nbsp;nbsp;nbsp;nbsp; stm.loadfromfile server.MapPath(FileUrl)
 nbsp;nbsp;nbsp;nbsp; str=stm.readtext
 nbsp;nbsp;nbsp;nbsp; stm.Close
 nbsp;nbsp;nbsp; set stm=nothingnbsp; 本文来自www.iisboy.com
 nbsp;nbsp;nbsp;nbsp; ReadFromTextFile=str
 End Function
 '-------------------------------------------------
 '函数名称:WriteToTextFile
 '作用:利用AdoDb.Stream对象来写入UTF-8格式的文本文件
 '----------------------------------------------------
 Sub WriteToTextFile (FileUrl,byval Str,CharSet)nbsp;
 nbsp;nbsp;nbsp; set stm=server.CreateObject("adodb.stream")
 nbsp;nbsp;nbsp;nbsp; stm.Type=2 '以本模式读取
 nbsp;nbsp;nbsp;nbsp; stm.mode=3
 nbsp;nbsp;nbsp;nbsp; stm.charset=CharSet
 nbsp;nbsp;nbsp;nbsp; stm.open
 nbsp;nbsp;nbsp;nbsp; stm.WriteText str
 nbsp;nbsp;nbsp;nbsp; stm.SaveToFile server.MapPath(FileUrl),2nbsp;
 nbsp;nbsp;nbsp;nbsp; stm.flush
 nbsp;nbsp;nbsp;nbsp; stm.Close
 nbsp;nbsp;nbsp; set stm=nothing
 End Subnbsp; IISBOY网,IISBOY.COM
 
 使用方法:
 复制代码 代码如下:
 call WriteToTextFile ("../index.html","aaa","utf-8")
 
 搞定。nbsp;
 (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |