利用fso.OpenTextFil读取UTF-8文件或者用FSO.save生成UTF-8文件时乱码解决办法生成静态页使用的方法是读取asp页面的html代码,保存为html文件,这种方法

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

作者: 来源: 时间: 17-11-23 16:11:58


由于动态页是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")

搞定。 
11
22
33
隐藏区块

会员注册

本功能为预留功能,暂不支持注册 ^_^

Login

社交帐号登陆

使用以下任意帐号可登陆本站

Close section
Close

联系我们

关于5UCMS 您有任何需求 均可以留言给我们