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

2016-02-19 21:16 9 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的包含中文字符的URL编码问题,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - Web开发 】

  在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
    urlhttp://www.google.com/search?q=/url
    wordxml数据/word
   /search
   search
    urlhttp://www1.baidu.com/baidu?word=/url
    wordxml数据/word
   /search
   search
    urlhttp://www.google.com/search?q=/url
    word极限编程(xp)/word
   /search
   search
    urlhttp://www1.baidu.com/baidu?word=/url
    word极限编程(xp)/word
   /search
  /root

  
  /*** data.xsl ***/

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  ?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"

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  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

  
  

来源:http://www.tulaoshi.com/n/20160219/1625740.html

延伸阅读
如果这个问题不解决,那么MySQL将无法实际处理中文。 出现这个问题的原因是因为MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。 解决方法: 对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name c...
在编辑一篇文档时有没有发现文字过于紧密而影响到了美观。最起码在视觉上的感觉就是这样,这时只需要对字符间距进行调整,便可解决这个问题。下面有个不错的示例,大家不妨参考下。 简要概述 首先要选择调整的目标文字,本例以“秦桑低绿枝”为例,之后进行字体的字符间距设置。在字体对话框中可以对间距、磅值等参数进行设置,本...
标签: word
如何变换Word中文字方向   在Word中编辑时,为了能够使文档更具特色,很多时候我们都会采取改变文字方向的方式。今天,图老师小编就要来教一下大家,变换文字方向的技巧,让你编辑的文档也更具魅力。 Word 操作步骤 1、选中一段内容,按鼠标右键选择文字方向。 2、弹出文字方向-主文档按用户需求设置,然后将...
标签: 平面设计
这是一张来自Psdtut+网站的海报设计。 创建复古的效果没什么新奇的,但是模仿一张数十年前的海报时,需要注意的东西就多了。我们将尝试着做一张上世纪六十年代的拳击海报,开始吧! 第1步在任何设计的最初,你都应该先考虑如何传达出你的信息。 我们选用了A3纸张的海报模式,记住:当你在设计海报或者是别的什么用于打印的东西...

经验教程

410

收藏

46
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部