ASP生成utf-8编码文件
点击:1019
发布时间:
在ASP的使用过程中,我们通常会使用FSO对象生成静态文件。可有时我们需要生成utf-8编码的文件时,问题就来了,因为FSO对象的文件编码属性只有三种,系统默认、Unicode和ASCII,并没有utf-8。一般中文系统上使用FSO对象生成的文件都是gb2312网页编码格式,没有UTF-8编码的。
既然这样,我们只有选择用ADODB.STREAM对象来替代FSO对象了。
以下是FSO对象和ADODB.STREAM对象生成文件的方法:
'path是文件路径,htmlName是静态文件名,theResult是要写入的内容 'FSO对象生成文件 function createFile1(path,htmlName,theResult) 'FSO对象的文件编码属性有三种:系统默认,Unicode,ASCII,没有utf-8 set fso=server.CreateObject("scripting.filesystemobject") set osc= fso.CreateTextFile(server.MapPath(path&htmlName),true) osc.write(theResult) osc.close:set osc=nothing end function 'ADODB.STREAM对象生成文件 function createFile2(path,htmlName,theResult) set objStream=Server.CreateObject("ADODB.Stream") with objStream .Open .Charset ="utf-8" 'stream方法,可以指定utf-8编码 'fso对象没有charset属性,不能生成utf-8编码的文件 .Position=objStream.Size .WriteText=theResult .SaveToFile server.MapPath(path&htmlName),2 .Close end with set objStream=nothing end function