当前位置:主页 > 查看内容

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

发布时间:2021-07-19 00:00| 位朋友查看

简介:一般我们在ASP环境下,运行动生静操作时都用到的是FSO,他是专门对文件进行操作的一个组件,他FSO的编码属性只有三种,系统默认,Unicode,ASCII,并没有我们要的utf-8,所以一般中文系统上使用FSO组件生成的文件都是gb2312格式的了,即便您在网页内写上charse……
一般我们在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实现


原文链接:https://m.jb51.net/article/12604.htm
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐