手机版 | 登录 | 注册 | 留言 | 设首页 | 加收藏
联系客服
当前位置: 网站首页 > 程序技巧 > asp > 文章 当前位置: asp > 文章

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

时间:2023-11-09    点击: 次    来源:网络    添加者:佚名 - 小 + 大

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了


文章来源 


想用模版生成静态页,不过在替换标记内容时没成功
不知道是我方法不对还是怎么的。麻烦丢个小DEMO给我


Function Admin_LoadFile(t0)
IF Len(t0)=0 Then Exit Function
t1=Empty
Set stm=Server.CreateObject("***.stream")
stm.Type=2'以本模式读取
stm.mode=3
stm.charset=CharSet'这里修改为你的文件的编码,utf-8,gb2312
***.open
stm.loadfromfile Server.MapPath(t0)
t1=stm.readtext
stm.Close
Set stm=Nothing
IF Err Then
Admin_LoadFile="“"&t0&"”"&Err.Description:Err.Clear
Else
Admin_LoadFile=t1
End IF
End Function

分享按钮

上一篇:asp将二进制数据流保存成图片文件到服务器

下一篇:asp中用split分割空行,比如说在字符a与字符b隔了一个空行

豫ICP备19032584号-1  |   QQ:80571569  |  地址:河南濮阳市  |  电话:13030322310  |  
Copyright © 2024 FE内容付费系统 版权所有,授权www.xingwp.cn使用 Powered by 66FE.COM