当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP生成静态文件编码为UTF-8格式的HTML文件

ASP
分享一段代码show.asp?id=26变成show/?26的形式
多域名一网站时如果返回最原来的域名
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
TSYS中生成静态页时溢出: ''CInt''
对象标记具有无效的 ''MSWC.MyInfo'' ProgID
[原创]随机增加网站点击的一个不错的方法
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
反SPAM新思路—换Z-BLOG的验证码!
七步倒┈→专用asp后门
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
使用ASP实现网站的“目录树”管理的代码
ShowPage 显示“上一页 下一页”等信息的封装代码
[原创]站长感慨asp编程究竟何去何从
响应对象 错误 ''ASP 0185 : 80020003'' 缺少默认属性
[原创]asp下用实现模板加载的的几种方法总结
[原创]asp获取URL参数的几种方法分析总结
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
ASP程序中输出Excel文件实例一则
ASP应用中如何限制同一表单被多次提交

ASP生成静态文件编码为UTF-8格式的HTML文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 152 ::
收藏到网摘: n/a

一般我们在ASP环境下,运行动生静操作时都用到的是FSO,他是专门对文件进行操作的一个组件,他FSO的编码属性只有三种,系统默认,Unicode,ASCII,并没有我们要的utf-8,所以一般中文系统上使用FSO组件生成的文件都是gb2312格式的了,即便您在网页内写上charset="utf-8"也是没用的
要生成utf-8格式的文件,ASP环境下我们用 ADODB.Stream代替FSO读写utf-8文件,因为,ADODB.Stream,有一个CharSet 属性,可以让您定义要打开或要写入的文件的编码类型,这样一来,ADODB.Stream不仅仅是只能读取或写入utf-8的文件,基本上什么格式的文件都可以操作了,当然当前对我们来说比较有用的就是写为utf-8格式的文件,
下边这个函数可以实现这些功能:
Function WriteToFile (FileUrl, Str, CharSet)
Set stm = CreateObject("Adodb.Stream")
stm.Type = 2
stm.mode = 3
stm.charset = CharSet
stm.Open
stm.WriteText Str
stm.SaveToFile FileUrl, 2
stm.flush
stm.Close
Set stm = Nothing
End Function
其中charset可以选择的项有很多,您可以在这找到您想要的:网页编码大全 CodePage CharSet 中英文显示名称,这个函数的功能基本上与您的动生静使用的FSO函数差不多,只是多了一个选择字符编码的属性,当然您也可以把这个属性直接写到函数里,不过这样写比较好,以后如果要用别的转为别的格式,这个函数还可以用的上,都不用修改的。
如果您只是想实现现有的文件批量转换为utf-8格式的,可以试试:
批量gb2312转utf-8,支持拖动,VBS实现