• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    包含中文字符的URL编码问题

    在xml应用中,经常将一些URL信息作为xml数据存储,其中URL参数有可能包含有中文字符。当使用dom对xml数据进行解析时,可以对中文字符进行编码。
    但如果只使用xslt来显示xml数据时(data.xml+data.xsl),发现此时的URL会出现编码错误.即使指定编码类型(encoding="gb2312"),依然会出现同样的问题.
    测试发现:是IE的缓存机制问题,IE仍会把新的页面(所链接的URL)的MIME内容类型默认为text/xml

    解决方法:
    1.指定输出文档类型为xml文档  (example:data.xsl)
     xsl:output method="xml"  encoding="gb2312" media-type="text/xml" />
    2.在新的窗口打开,给联接增加属性,指明目标窗口为其他窗口  (example:data2.xsl)
     xsl:attribute name="target">_blank/xsl:attribute>


    examples:


    /*** data.xml ***/

    ?xml version="1.0" encoding="gb2312"?>
    ?xml-stylesheet type="text/xsl" href="data.xsl"?>
    root>
     search>
      url>http://www.google.com/search?q=/url>
      word>xml数据/word>
     /search>
     search>
      url>http://www1.baidu.com/baidu?word=/url>
      word>xml数据/word>
     /search>
     search>
      url>http://www.google.com/search?q=/url>
      word>极限编程(xp)/word>
     /search>
     search>
      url>http://www1.baidu.com/baidu?word=/url>
      word>极限编程(xp)/word>
     /search>
    /root>


    /*** data.xsl ***/

    ?xml version="1.0" encoding="gb2312"?>
    xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    !-- 去掉下面一句,将出现错误 -->
    xsl:output method="xml"  encoding="gb2312" media-type="text/xml" />

    xsl:template match="/">
     xsl:apply-templates /> 
    /xsl:template>

    xsl:template match="search">
     xsl:element name="a">
      xsl:attribute name="href">xsl:value-of select="url" />xsl:value-of select="word" />/xsl:attribute>
      xsl:value-of select="word" />
     /xsl:element>
     br />
    /xsl:template>

    /xsl:stylesheet>


    /*** data2.xsl ***/

    ?xml version="1.0" encoding="gb2312"?>
    xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    xsl:template match="/">
     xsl:apply-templates /> 
    /xsl:template>

    xsl:template match="search">
     xsl:element name="a">
      xsl:attribute name="href">xsl:value-of select="url" />xsl:value-of select="word" />/xsl:attribute>
      !-- 去掉下面一句,将出现错误 -->
      xsl:attribute name="target">_blank/xsl:attribute>
      xsl:value-of select="word" />
     /xsl:element>
     br />
    /xsl:template>

    /xsl:stylesheet>


    上一篇:使用&#106avascript+xml实现分页
    下一篇:XML简易教程之四
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    包含中文字符的URL编码问题 包含,中文,字符,的,URL,编码,