加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

用fso实现在 asp中阅读并生成 UTF-8编码的 txt文件

发布时间:2023-05-16 13:46:24 所属栏目:教程 来源:
导读:利用fso.OpenTextFil读取UTF-8文件或者用FSO.save生成UTF-8文件时乱码解决办法生成静态页使用的方法是读取asp页面的html代码,保存为html文件,这种方法

由于动态页是utf8格式的编码,我得到它的html代码后,使用
利用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  本文来自
 
     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")
 
搞定。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!