主頁 > 知識庫 > 包含中文字符的URL編碼問題

包含中文字符的URL編碼問題

熱門標(biāo)簽:高德地圖地圖標(biāo)注服務(wù)中心 東營電銷 隨州外呼調(diào)研系統(tǒng) 微信地圖標(biāo)注合并了 南寧網(wǎng)絡(luò)外呼系統(tǒng)運(yùn)營商 本地電話機(jī)器人 r語言數(shù)據(jù)可視化地圖標(biāo)注 如何修改多個百度地圖標(biāo)注 400電話辦理包年

在xml應(yīng)用中,經(jīng)常將一些URL信息作為xml數(shù)據(jù)存儲,其中URL參數(shù)有可能包含有中文字符。當(dāng)使用dom對xml數(shù)據(jù)進(jìn)行解析時,可以對中文字符進(jìn)行編碼。
但如果只使用xslt來顯示xml數(shù)據(jù)時(data.xml+data.xsl),發(fā)現(xiàn)此時的URL會出現(xiàn)編碼錯誤.即使指定編碼類型(encoding="gb2312"),依然會出現(xiàn)同樣的問題.
測試發(fā)現(xiàn):是IE的緩存機(jī)制問題,IE仍會把新的頁面(所鏈接的URL)的MIME內(nèi)容類型默認(rèn)為text/xml

解決方法:
1.指定輸出文檔類型為xml文檔  (example:data.xsl)
 xsl:output method="xml"  encoding="gb2312" media-type="text/xml" />
2.在新的窗口打開,給聯(lián)接增加屬性,指明目標(biāo)窗口為其他窗口  (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數(shù)據(jù)/word>
 /search>
 search>
  url>http://www1.baidu.com/baidu?word=/url>
  word>xml數(shù)據(jù)/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">
!-- 去掉下面一句,將出現(xiàn)錯誤 -->
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>
  !-- 去掉下面一句,將出現(xiàn)錯誤 -->
  xsl:attribute name="target">_blank/xsl:attribute>
  xsl:value-of select="word" />
 /xsl:element>
 br />
/xsl:template>

/xsl:stylesheet>


標(biāo)簽:果洛 益陽 寧夏 德州 黃石 拉薩 宿遷 西雙版納

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《包含中文字符的URL編碼問題》,本文關(guān)鍵詞  包含,中文,字符,的,URL,編碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《包含中文字符的URL編碼問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于包含中文字符的URL編碼問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章