>  기사  >  백엔드 개발  >  한자가 포함된 URL 인코딩 문제에 대한 정밀 분석

한자가 포함된 URL 인코딩 문제에 대한 정밀 분석

黄舟
黄舟원래의
2017-03-06 16:40:511668검색

xml 애플리케이션에서는 일부 URL 정보가 xml 데이터로 저장되는 경우가 많으며 URL 매개변수에 중국어 문자가 포함될 수 있습니다. dom을 사용하여 xml 데이터를 구문 분석할 때 중국어 문자를 인코딩할 수 있습니다.
그러나 xslt만 사용하여 xml 데이터(data.xml+data.xsl)를 표시하는 경우 인코딩 유형(encoding=)을 지정하더라도 이때 URL에 인코딩 오류가 발생하게 됩니다. "gb2312"), 동일한 오류가 계속 발생합니다. 문제.
테스트 결과 IE의 캐싱 메커니즘에 문제가 있는 것으로 나타났습니다. IE는 여전히 새 페이지(링크된 URL)의 MIME 콘텐츠 유형을 text/xml로 기본 설정합니다

해결책:
1 .출력 문서 유형을 xml 문서로 지정합니다(예:data.xsl)

<xsl:output method="xml"  encoding="gb2312" media-type="text/xml" />

2. 새 창을 열고 연결에 속성을 추가합니다. 대상 창을 다른 창으로 지정합니다(예:data2.xsl)

 _blank
examples:
/*** data.xml ***/



 
  http://www.google.com/search?q=
  xml数据
 
 
  http://www1.baidu.com/baidu?word=
  xml数据
 
 
  http://www.google.com/search?q=
  极限编程(xp)
 
 
  http://www1.baidu.com/baidu?word=
  极限编程(xp)
 


/*** data.xsl ***/



<xsl:output method="xml"  encoding="gb2312" media-type="text/xml" />

   


 
  
  
 
 
/*** data2.xsl ***/ _blank

위는 한자가 포함된 URL 인코딩 문제에 대한 자세한 분석입니다. PHP 중국어 홈페이지(www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.