ASP

用ADODB.Stream代替FSO读取文本文件

因为fso对utf-8的支持不是很好,所以改成这个
这个生成静太页也很快

'创建要生成的静态页
With objStream
.Open
.Charset = "utf-8"
.Position = objStream.Size
.WriteText=strOut
.SaveToFile server.mappath(FilePath),2
.Close
End With

'Set htmlwrite=fso.CreateTextFile(Server.MapPath(FilePath),true,true)
'这个支持utf-8,今天算是学到了!
'htmlwrite.WriteLine strOut
' htmlwrite.close
'set htmlwrite=Nothing

Function LoadFile(ByVal File)
Dim objStream
On Error Resume Next
Set objStream = Server.CreateObject("ADODB.Stream")
If Err.Number=-2147221005 Then
Response.Write "

非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序

"
Err.Clear
Response.End
End If
With objStream
.Type = 2
.Mode = 3
.Open
.LoadFromFile Server.MapPath(File)
If Err.Number<>0 Then
Response.Write "

文件"&File&"无法被打开,请检查是否存在!

"
Err.Clear
Response.End
End If
.Charset = "GB2312"
.Position = 2
LoadFile = .ReadText
.Close
End With
Set objStream = Nothing
End Function

'存储内容到文件
Sub SaveToFile(ByVal strBody,ByVal File)
Dim objStream
On Error Resume Next
Set objStream = Server.CreateObject("ADODB.Stream")
If Err.Number=-2147221005 Then
Response.Write "

非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序

"
Err.Clear
Response.End
End If
With objStream
.Type = 2
.Open
.Charset = "GB2312"
.Position = objStream.Size
.WriteText = strBody
.SaveToFile Server.MapPath(File),2
.Close
End With
Set objStream = Nothing
End Sub

分类: ASP

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部