Asp生成xml乱码解放方法

!–#include file=../inc/conn.asp–%Call opendata(1)Set rs=server.CreateObject(adodb.recordset)xmlfile=server.mappath(content.xml)Set fso = CreateObject(Scripting.FileSystemObject)Set MyFile = fso.CreateTextFile(xmlfile,True,-1)MyFile.WriteL

<%
Call opendata(1)
Set rs=server.CreateObject(“adodb.recordset”)
xmlfile=server.mappath(“content.xml”)
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set MyFile = fso.CreateTextFile(xmlfile,True,-1)
MyFile.WriteLine(““)
MyFile.WriteLine(“rs.open “select * from detail where classid=268 order by updatetime desc”,conn,1,1
if not rs.eof then
do while not rs.eof
MyFile.WriteLine(“MyFile.WriteLine(“xx竹立方竹艺臻品馆开馆“)
MyFile.WriteLine(“2010/05/01“)
MyFile.WriteLine(““)
MyFile.WriteLine(““)
MyFile.WriteLine(““)
MyFile.WriteLine(“

“)
rs.movenext
loop
end if
rs.close
MyFile.WriteLine(““)
MyFile.Close
%>

最近研究asp生成xml文件,发现如果生成文件里面出现中文的话,xml文件就是乱码。在网上找了一下,说的都是把页面,xml都设置成统一的编码等等,但是都没有解决问题。

原因:后来发现原来是fso的问题:fso不支持utf-8。

解决办法:Set MyFile = fso.CreateTextFile(xmlfile,-1) 这句的第三个参数就非常重要-1是boolean值的true;

拓展:

下面是对CreateTextFile的参数的详细说明:
object.CreateTextFile(filename[,overwrite[,unicode]])
参数
object
必选项。应为 FileSystemObject 或 Folder 对象的名称。
filename
必选项。指明所要创建文件的字符串表达式。
overwrite
可选项。Boolean 值,指明能否覆盖已有文件。如果文件可以覆盖,则值为 true ,否则为 false。如果忽略,则已有文件不能被覆盖。
unicode
可选项。Boolean 值,指明文件是否以 Unicode 或 ASCII 文件方式创建。如果文件作为 Unicode 文件创建,则值为 true ,如果作为 ASCII 文件创建,则为 false。如果忽略,则假定为 ASCII 文件。

范例代码:

<%
xmlfile=server.mappath(“media.xml”)
Set fso = CreateObject(“Scripting.FileSystemObject”)
Set MyFile = fso.CreateTextFile(xmlfile,-1)
MyFile.WriteLine(““)
MyFile.WriteLine(“MyFile.WriteLine(” />”)
%>

<%
MyFile.WriteLine(““)
%>
<%

MyFile.WriteLine(““)

%>
<%
MyFile.WriteLine(““)
%>

<%
MyFile.Close
%>

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部