凤来仪

专业的计算机学习网站

首页 > ASP生成utf-8编码文件

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