<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="skins/JinnStyleV1/article.xslt"?><blog view="689813" processed="0.141" queries="8" focusMarkup="" xslt="skins/JinnStyleV1/article.xslt"><panels><panel id="1" sn="0" sys="true"><name>Blog Main</name><content><article id="156" disComm="false"><title>自动识别URI使用的编码(gbk/utf-8)并正确解码[ASP]</title><category id="26"><name>网络开发</name><icon>images/icons/14.gif</icon></category><content><![CDATA[&#21069;&#22825;&#22312; CSDN &#26377;&#32593;&#21451;&#38382;&#21040; ASP &#20013; UTF-8 &#36716; GB2312 &#30340;&#38382;&#39064;<br />&#35265;:http://topic.csdn.net/u/20080729/18/b257b0ce-d947-495d-a722-00b8b6a577dc.html<br /><br />&#20351;&#29992;&#30340;&#26159;&#32593;&#19978;&#27969;&#34892;&#30340;　UTF2GB(UTFStr) &#20989;&#25968;&#12290;<br />&#20195;&#30721;&#29978;&#26159;&#22797;&#26434;&#65292;&#20294;&#20854;&#23454;&#30446;&#30340;&#26159;&#20026;&#20102;&#23454;&#29616; JScript &#37324; decodeURIComponent &#21151;&#33021;&#12290;<br />&#25105;&#24456;&#26159;&#37057;&#38391;&#65292;&#26082;&#28982; JScript &#26377; decodeURIComponent&#65292;&#32780;&#19988; ASP &#21448;&#21487;&#20197;&#20351;&#29992; JScript &#20026;&#20160;&#20040;&#29616;&#25104;&#30340;&#20869;&#32622;&#20989;&#25968;&#19981;&#29992;&#21602;&#65311;&#22914;&#65306;<br /><textarea name='code' class='xml' cols='50'>&lt;script language=&quot;JScript&quot; runat=&quot;Server&quot;&gt;
function decodeURL(s) { return decodeURIComponent(s) }
&lt;/script&gt;
&lt;%
Response.Write decodeURL(&quot;%E6%8A%9A%E9%A1%BA%E9%9D%92%E6%9D%BE%E8%8D%AF%E4%B8%9A&quot;)
%&gt;</textarea><br /><br />&#21487;&#33021;&#26377;&#20123;&#26379;&#21451;&#23601;&#29305;&#19981;&#21916;&#27426; JScript, &#37027;&#20040;&#21033;&#29992;&#19968;&#19979; ADODB.Stream &#36716;&#30721;&#20063;&#26041;&#20415;&#30340;&#22810;<br /><textarea name='code' class='vb' cols='50'>Function UTF2GB(s)
    With Server.CreateObject(&quot;ADODB.Stream&quot;)
        .Type = 2
        .Mode = 3
        .Open
        .CharSet = &quot;iso-8859-1&quot;
        .WriteText UnEscape(s) ' &#20351;&#29992; unescape &#35299;&#30721;&#25104; iso-8859-1 &#20018;&#21518; &#21033;&#29992; ADODB.Stream &#36716;&#25442;&#32534;&#30721;
        .Position = 0
        .CharSet = &quot;UTF-8&quot;
        UTF2GB = .ReadText(-1)
        .Close
    End With 
End Function  
  
Response.Write UTF2GB(&quot;%E6%8A%9A%E9%A1%BA%E9%9D%92%E6%9D%BE%E8%8D%AF%E4%B8%9A&quot;)</textarea><br />^_^ &#19978;&#38754;&#35828;&#20102;&#36825;&#20040;&#22810;&#65292;&#37117;&#36319;&#20027;&#39064;&#27809;&#20160;&#20040;&#20851;&#31995;<br /><br />&#22312;&#21407;&#26469;&#36148;&#23376;&#20013;&#65292;&#25552;&#38382;&#30340;&#32593;&#21451;&#26368;&#21518;&#25552;&#21040;&#20102;&#19968;&#20010;&#24456;&#22909;&#30340;&#38382;&#39064;&#12290;<br />&#23601;&#26159;&#20687;: <br />&quot;&#25242;&#39034;&#38738;&#26494;&#33647;&#19994;&quot;<br />GBK &#30340; URI &#32534;&#30721;&#26159; <font color='Red'>&quot;%B8%A7%CB%B3%C7%E0%CB%C9%D2%A9%D2%B5&quot;</font><br />UTF-8 &#30340; URI &#32534;&#30721;&#26159; <font color='Green'>&quot;%E6%8A%9A%E9%A1%BA%E9%9D%92%E6%9D%BE%E8%8D%AF%E4%B8%9A&quot;</font><br /><br />&#22312;&#26410;&#30693;&#20309;&#31181;&#32534;&#30721;&#26684;&#24335;&#30340;&#24773;&#20917;&#19979;&#65292;&#22914;&#20309;&#33021;&#33258;&#21160;&#35782;&#21035;&#20854;&#32534;&#30721;&#65292;&#27491;&#30830;&#35299;&#20986; &quot;&#25242;&#39034;&#38738;&#26494;&#33647;&#19994;&quot; (Google &#23601;&#33021;&#20570;&#21040;)<br /><br />&#36825;&#20010;&#38382;&#39064;&#20043;&#21069;&#33258;&#24049;&#20063;&#26377;&#34987;&#38590;&#20303;&#36807;&#65292;&#37027;&#26102;&#20505;&#26159;&#20570;&#39029;&#38754;&#32479;&#35745;&#26102;&#65292;&#20026;&#20102;&#20998;&#26512;&#29992;&#25143;&#20174;&#25628;&#32034;&#24341;&#25806;&#36827;&#20837;&#26102;&#65292;&#29992;&#25143;&#25628;&#30340;&#26159;&#20160;&#20040;&#20851;&#38190;&#23383;&#65292;&#36825;&#23601;&#38656;&#35201;&#20174;&#26469;&#36335;&#39029;&#38754;&#30340;&#22320;&#22336;&#20013;&#20998;&#26512;&#20986;&#20851;&#38190;&#23383;&#65292;&#32780; &#25552;&#20132;&#32473; Google &#30340;&#25628;&#32034;&#20851;&#38190;&#23383;&#26377;&#26102;&#26159; GBK &#30340; URI &#32534;&#30721;&#65292;&#26377;&#26102;&#26159; UTF-8 &#30340; URI &#32534;&#30721;&#12290;&#36825;&#23601;&#35201;&#27714;&#25105;&#20204;&#20063;&#24517;&#39035;&#33021;&#20687; Google &#19968;&#26679;&#33021;&#35782;&#21035;&#20986; URI &#20018;&#26159;&#29992;&#20102;&#20160;&#20040;&#32534;&#30721;&#12290;<br /><br />&#22312;&#25628;&#32034;&#20102; UTF-8 &#30340;&#32534;&#30721;&#35268;&#21017;&#21518;&#65292;&#32456;&#20110;&#20889;&#20986;&#20102;&#19979;&#38754;&#30340;&#20195;&#30721;<br /><textarea name='code' class='vb' cols='50'>Function DecodeURI(ByVal s)
    s = UnEscape(s)
    Dim cs : cs = &quot;GBK&quot;
    With New RegExp
        .Pattern = &quot;^(?:[\x00-\x7f]|[\xfc-\xff][\x80-\xbf]{5}|[\xf8-\xfb][\x80-\xbf]{4}|[\xf0-\xf7][\x80-\xbf]{3}|[\xe0-\xef][\x80-\xbf]{2}|[\xc0-\xdf][\x80-\xbf])+$&quot;
        If .Test(s) Then cs = &quot;UTF-8&quot;
    End With
    With CreateObject(&quot;ADODB.Stream&quot;)
        .Type = 2
        .Mode = 3
        .Open
        .CharSet = &quot;iso-8859-1&quot;
        .WriteText s
        .Position = 0
        .CharSet = cs
        DecodeURI = .ReadText(-1)
        .Close
    End With
End Function

Response.Write DecodeURI(&quot;%B8%A7%CB%B3%C7%E0%CB%C9%D2%A9%D2%B5&quot;)
Response.Write DecodeURI(&quot;%E6%8A%9A%E9%A1%BA%E9%9D%92%E6%9D%BE%E8%8D%AF%E4%B8%9A&quot;)</textarea><br />&#20598;&#23572;&#20063;&#20250;&#26377; GBK &#32534;&#30721;&#20018;&#34987;&#35823;&#35748;&#20026; UTF-8 &#30340;&#65292;&#19981;&#36807;&#65292;&#35823;&#35748;&#30340;&#38382;&#39064;&#24182;&#19981;&#22909;&#35299;&#20915;&#65292;Google &#37117;&#20063;&#20250;&#20986;&#36825;&#26679;&#30340;&#38382;&#39064;&#12290;<br />&#25226;&#20195;&#30721;&#35760;&#19979;&#26469;&#65292;&#22791;&#20197;&#21518;&#29992; ]]></content><publish>2008-07-31 20:23:20</publish><update>2011-02-12 06:35:59</update><comment>2</comment><view>8768</view></article><comments><comment id="243"><usn>jj</usn><publish>2010-06-24 00:16:56</publish><content>http://www.baidu.com/s?wd=%D4%BD%D2%B0&lt;br /&gt;&amp;#8220;&amp;#36234;&amp;#37326;&amp;#8221;&lt;br /&gt;&lt;br /&gt;response.write DecodeURI(&amp;quot;%D4%BD%D2%B0&amp;quot;)&lt;br /&gt;&amp;#24471;&amp;#21040;&amp;#30340;&amp;#26159;&amp;#20081;&amp;#30721;??</content><reply>GBK,UTF-8,&amp;#32534;&amp;#30721;&amp;#32467;&amp;#26524;&amp;#23384;&amp;#22312;&amp;#20132;&amp;#21449;.&amp;#25152;&amp;#20197;&amp;#25226;GBK&amp;#35823;&amp;#35748;&amp;#20026; UTF-8 &amp;#20063;&amp;#38590;&amp;#20813;.&lt;br /&gt;&lt;br /&gt;-----------------------&lt;br /&gt;&amp;#23558;:&lt;br /&gt;reg.Pattern = &amp;quot;^(?:[\x00-\x7f]|[\xfc-\xff][\x80-\xbf]{5}|[\xf8-\xfb][\x80-\xbf]{4}|[\xf0-\xf7][\x80-\xbf]{3}|[\xe0-\xef][\x80-\xbf]{2}|[\xc0-\xdf][\x80-\xbf])+$&amp;quot;&lt;br /&gt;&amp;#25913;&amp;#25104;:&lt;br /&gt;reg.Pattern = &amp;quot;^(?:[\x00-\x7f]|[\xe0-\xef][\x80-\xbf]{2})+$&amp;quot;&lt;br /&gt;&amp;#21487;&amp;#25918;&amp;#24323;&amp;#23545;&amp;#22806;&amp;#25991;UTF-8&amp;#23383;&amp;#31526;&amp;#30340;&amp;#35782;&amp;#21035;,&amp;#32780;&amp;#33719;&amp;#24471;&amp;#26356;&amp;#22810;&amp;#30340;GBK&amp;#25903;&amp;#25345;&lt;br /&gt;</reply></comment><comment id="278"><usn>i@arey.cn</usn><publish>2013-08-28 08:36:05</publish><content>&amp;#36825;&amp;#31181;&amp;#26041;&amp;#27861;&amp;#23545;&amp;#35782;&amp;#21035;&amp;#32321;&amp;#20307;&amp;#21644;&amp;#29983;&amp;#20731;&amp;#23383;&amp;#22522;&amp;#26412;&amp;#26080;&amp;#33021;&amp;#20026;&amp;#21147;&amp;#21543;&amp;#65292;&amp;#24456;&amp;#26089;&amp;#20197;&amp;#21069;&amp;#20889;&amp;#36807;&amp;#36825;&amp;#20010;&amp;#65292;&amp;#21518;&amp;#26469;&amp;#19968;&amp;#30452;&amp;#27809;&amp;#26377;&amp;#25214;&amp;#21040;&amp;#21512;&amp;#36866;&amp;#30340;&amp;#21150;&amp;#27861;</content><reply></reply></comment></comments><previous id="155"><title>放假回家了</title></previous><next id="157"><title>08.09.05 牢骚</title></next></content></panel></panels><modules><module id="4" sn="3" sys="true"><name>Category</name><title>日志分类</title></module><module id="6" sn="4" sys="true"><name>Archive</name><title>日志归档</title></module><module id="5" sn="5" sys="true"><name>User Panel</name><title>控制面板</title></module><module id="10" sn="6" sys="true"><name>Recent Article</name><title>最新日志</title></module><module id="8" sn="7" sys="true"><name>Search</name><title>查询搜索</title></module><module id="7" sn="8" sys="true"><name>Recent Comments</name><title>最新评论</title></module><module id="2" sn="9" sys="true"><name>Statistics</name><title>统计信息</title></module></modules><user><usn></usn><status>3</status><login>false</login></user></blog>
