比如:font-family:濂旇
我的代码:
问:该如何操作才不会出现中文成乱码的问题。css格式一定为utf-8,不可更改。
用adodb.stream来读取可以指定charset,这样读取出来的信息就是正确的。
希望以下代码对他人有用。
------------------------------------------------------------------------------
FileSystemObject,ADODB.Stream 能否操作UTF-8格式的文件
Scripting.FileSystemObject 对象创建文件的函数,是下面方式:
FileSystemObject.CreateTextFile(filename[,overwrite[,unicode]])
其中的 unicode 属性是这样:
可选项。Boolean 值指明是否以 Unicode 或 ASCII 文件格式创建文件。如果以 Unicode 文件格式创建文件,则该值为 True;
如果以ASCII 文件格式创建文件,则该值为 False。如果省略此部分,则假定创建 ASCII 文件。
我们是无法用这个函数来创建UTF-8格式文件的。
这时候,我们可以使用 ADODB.Stream 对象,使用方法见下面:
Set objStream = Server.CreateObject("ADODB.Stream")
With objStream
.Open
.Charset = "utf-8"
.Position = objStream.Size
.WriteText=str
.SaveToFile server.mappath("/sitemap.xml"),2
.Close
End With
Set objStream = Nothing
--------------------------------------------------------------
Adodb.Stream读取和写入UTF-8编码的文件
<%'函数名称:ReadTextFile'作用:利用Adodb.Stream对象来读取UTF-8编码的文件
'示例:ReadFromTextFile("File/FileName.htm",UTF-8)
Function ReadFromTextFile(FileUrl,CharSet)
dim str
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)
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%>