asp生成html utf-8,Asp生成UTF8编码的静态页面的方法:adodb.stream组件

Asp生成UTF8编码的静态页面的方法之一

编写一个生成静态的程序很容易,通常生成静态都用到 FSO 。通过服务器的FSO组件读取模板文件,然后用数据替换掉模板中的标签;再采用FSO把替换后的数据写入指定的静态网页中。

但在用FSO生成UTF-8编码的网页总是空白,后来通过搜索才知道FSO根本就不支持UTF-8编码文本的读取和写入。

UTF-8是国际通用的语言编码,在任何语言的操作系统上都能正常的显示中文、英文、日文、韩文、阿拉伯文。。。

这时就得用到adodb.stream组件......

程序代码'***********************************************

'函数名:LoadFile

'作 用:利用ADODB.Stream读取文件

'Update:2008-2-9

'***********************************************

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 = "utf-8"

.Position = 2

LoadFile = .ReadText

.Close

End With

Set objStream = Nothing

End Function

'***********************************************

'函数名:SaveToFile

'作 用:利用ADODB.Stream存储内容到文件

'Update:2008-2-9

'***********************************************

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 = "utf-8"

.Position = objStream.Size

.WriteText = strBody

.SaveToFile Server.MapPath(File),2

.Close

End With

Set objStream = Nothing

End Sub

先引用上面两段函数,接着下面:

程序代码Dim wstr

wstr=LoadFile("../Template/Sort.asp") '读取模板内容

'...

'这里是你的代码(替换标签等操作)...

'...

Call SaveToFile(wstr,"..\Template\Sort.html") '生成文件

Conn.Close : Set Conn=Nothing '关闭数据链接,释放资源

Response.Write("")

Response.End()

到这里所有操作就全部OK了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值