ASP生成静态文件编码为UTF-8格式的HTML文件
程序员文章站
2022-04-14 20:20:27
一般我们在asp环境下,运行动生静操作时都用到的是fso,他是专门对文件进行操作的一个组件,他fso的编码属性只有三种,系统默认,unicode,ascii,并没有我们要的...
一般我们在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实现
要生成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实现
推荐阅读
-
用ASP读取/写入UTF-8编码格式的文件
-
ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)第1/2页
-
如何设置Word 2007生成的XML文件,编码为UTF-8?
-
ASP生成静态文件编码为UTF-8格式的HTML文件
-
ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法
-
ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)第1/2页
-
用ASP读取/写入UTF-8编码格式的文件
-
html - mysql中的这个utf8_general_ci是否就对应php文档的UTF-8 是否就是文件格式的utf-8无BOM编码?
-
ASP生成静态文件编码为UTF-8格式的HTML文件
-
ASP UTF-8页面乱码+GB2312转UTF-8 +生成UTF-8格式的文件(编码)第1/2页