asp如何生成utf-8编码静态文件

  想网站全站静态化,采用utf-8编码。Scripting.filesystemobject的createTextFile只能指定为unicode,asp怎么生成utf-8的存储编码html文件

4个回答

'asp生成指定编码静态html页面过程源代码 Sub WriteToTextFile(FileUrl,byval Str,CharSet) set stm=Server.CreateObject("adodb.stream") stm.Type=2'以本模式读取 stm.mode=3 stm.charset=CharSet stm.open stm.WriteText str stm.SaveToFile Server.MapPath(FileUrl),2 '转为物理路径 stm.flush stm.Close set stm=nothing End Sub 'asp生成utf-8编码静态文件示例 WriteToTextFile "/index.html","utf-8格式的内容,如果要防止乱码注意meta要指定charset为utf-8,并且要增加codepage之类的,具体参考asp网站使用utf-8编码注意事项","utf-8"

可以用adodb.stream,指定编码的

asp要生成utf-8编码的静态文件,需要使用adodb.stream来生成,adodb.stream可以指定任何编码。 'asp生成指定编码静态html页面过程源代码 Sub WriteToTextFile(FileUrl,byval Str,CharSet) set stm=Server.CreateObject("adodb.stream") stm.Type=2'以本模式读取 stm.mode=3 stm.charset=CharSet stm.open stm.WriteText str stm.SaveToFile Server.MapPath(FileUrl),2 '转为物理路径 stm.flush stm.Close set stm=nothing End Sub 'asp生成utf-8编码静态文件示例 WriteToTextFile "/index.html","utf-8格式的内容,如果要防止乱码注意meta要指定charset为utf-8,并且要增加codepage之类的,具体参考asp网站使用utf-8编码注意事项","utf-8"

ASP生成静态文件编码为UTF-8格式的HTML文件
一般在ASP环境下,运行动生静操作时都用到的是FSO,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函数差不多,只是多了一个选择字符编码的属性,当然也可以把这个属性直接写到函数里,不过这样写比较好,以后如果要转为别的格式,只要修改这个函数。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!