- 首页 > 服务中心 > 帮助中心 > 技术专区
-
asp生成utf-8格式文件
发布时间:2013/3/13 14:23:53ASP中可以用FSO生成文件,使用起来十分简单,几行代码可以完成,但是如果你想生成UTF-8格式的文件,恐怕FSO就无能为力了。FSO的CreateTextFile方法:
FSO.CreateTextFile(Server.mappath("test.XML"), true, true)
最后一个参数是指定编码格式为Unicode,而默认或者不设值的话是ASCII,Unicode是UTF-8、UTF-16、UTF-32的合集,默认情况下为16,所以即使设置了参数为true,生成的文件格式也只是UTF-16,而非UTF-8。
也就是说,FSO不支持直接生成UTF-8格式的文件。要想生成UTF-8格式的文件,需要用到adodb.stream对象。
如下是代码:
'函数名称:ReadTextFile
'作用:利用Adodb.Stream对象来读取UTF-8编码的文件
'示例:ReadFromTextFile("File/FileName.htm",UTF-8)
Function ReadFromTextFile(FileUrl,CharSet)
dim str,stm
set stm=server.CreateObject("adodb.stream")
stm.Type=2'以本模式读取
stm.mode=3
stm.charset=CharSet
stm.open
stm.loadfromfile server.MapPath(FileUrl)
str=stm.readtext
stm.Close
set stm=nothing
ReadFromTextFile=str
End Function'函数名称:WriteToTextFile
'作用:利用Adodb.Stream对象来写入UTF-8编码的文件
'示例:WriteToTextFile("File/FileName.htm",Content,UTF-8)
Sub WriteToTextFile(FileUrl,byval Str,CharSet)
dim stm
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
转帖请自觉加入安舟佛山网站建设 文章转自:(http://www.anjoweb.com/shownews_590.html)