• 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.WriteLine("<?xml version=""1.0"" encoding=""utf-8"" standalone=""yes""?>")
    MyFile.WriteLine("<content Name=""新闻动态"">")
    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("<article Thumb=""news/thumb4.jpg"" Large =""news/large4.jpg"">")
     MyFile.WriteLine("<headline>xx竹立方竹艺臻品馆开馆</headline>")
     MyFile.WriteLine("<date>2010/05/01</date>")
     MyFile.WriteLine("<copy_intro><![CDATA[竹立方,来自竹林深处的清新气息,来自时代低碳环保的呼唤,来自健康时尚的现代生活理念。]]></copy_intro>")
     MyFile.WriteLine("<copy_full><![CDATA[    竹立方,来自竹林深处的清新气息,来自时代低碳环保的呼唤,来自健康时尚的现代生活理念。<br><br>    竹立方——竹艺臻品馆,主要经营竹炭、竹纤维、竹家具、竹工艺品等,与最具实力的厂家合作,提供一手货源,为广大追求现代都市时尚生活的人提供低碳环保的竹产品。<br><br>     一想到竹,便想到那份翠绿。竹子,从竹竿,竹笋到竹纤维,竹地板,竹炭,从以其虚心谦恭的品格,默默无闻地做出贡献。而其独特的品质,自身的特性,发展前景不可限量。<br><br>    来竹立方,感受竹子带来的那份美妙神奇吧!]]></copy_full>")
     MyFile.WriteLine("<copy_pic><![CDATA[竹立方]]></copy_pic>")
     MyFile.WriteLine("</article>")
    rs.movenext
    loop
    end if
    rs.close
    MyFile.WriteLine("</content>")
    MyFile.Close
    %>

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

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

    解决办法:Set MyFile = fso.CreateTextFile(xmlfile,True,-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,True,-1)
    MyFile.WriteLine("<?xml version=""1.0"" encoding=""UTF" & "-8""?>")
    MyFile.WriteLine("<settings autoRotate=""1"" autoRotateSpeed=""4""  useSubtitle=""0"" useTooltip=""1""   useSecondCaption=""1""   spanX=""400""  spanY=""40""  centerX=""500"" centerY=""300""  distanceValue=""0""  perspectiveRatio=""0.5""  minimumscale="".1"" turningspeed=""4""  rotationKind=""1""  useFocalBlur=""1""  focalBlurValue="".6""  useMotionBlur=""1""   motionBlurValue="".25""  useFadeOnMouseOver=""1""  mouseOverAlphaValue="".5"" useReflection=""1""   reflectionAlphaValue="".5""")
    MyFile.WriteLine(" />")
    %>

    <%
    MyFile.WriteLine("<photos>")
    %>
    <%

    MyFile.WriteLine("<photo imageURL=""空调打孔"" linkData=""http://www.kongtiaodakong.com/"" linkType=""frameNumber"" linkTarget=""carousel"" captionText=""陈瑞"" captionText2=""陈瑞"" enableButtonWhenInFront=""1"" />")


    %>
    <%
    MyFile.WriteLine("</photos>")
    %>


    <%
    MyFile.Close
    %>

  • 相关阅读:
    vi/vim经常使用命令
    微信公众平台开发(数据库连接)
    遍历Map的四种方法
    提高日志质量的 5 大技巧
    位运算 的探究
    STL源代码剖析 读书总结
    从一段代码看fork()函数及其引发的竞争
    oc56--ARC多个对象的内存管理
    oc55--ARC单个对象的内存管理
    oc54--auatorelease应用场景
  • 原文地址:https://www.cnblogs.com/tdalcn/p/1798965.html
Copyright © 2020-2023  润新知