浣滆協bysss
msn:jameslastchina@hotmail.com聽
blog:blog.csdn.net/fbysss
澹版槑錛氭湰鏂囩敱fbysss鍘熷垱錛岃漿杞借娉ㄦ槑鍑哄
鍏抽敭瀛楋細涔辯爜
鏂囦歡1錛歟ncode.jsp
<%@ page language="java" contentType="text/html; charset=GBK"
聽聽聽 pageEncoding="GBK"%>
<%
聽聽聽 String sFileName = "涓枃鏂囦歡鍚?doc";
聽聽 sFileName = java.net.URLEncoder.encode(sFileName);//浠g爜琛?
%>
聽<a href="javascript:decode('<%=sFileName%>');">decode</a>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<body>
<script language="javascript">
function聽聽聽 decode(filename){
聽聽 location.href="decode.jsp?filename="+filename;//浠g爜琛?
}
</script>
</body>
</html>
鏂囦歡2錛歞ecode.jsp
<%@ page language="java" contentType="text/html; charset=gbk"
聽聽聽 pageEncoding="gbk"%>
<%
聽聽聽 String sFileName = request.getParameter("filename");
聽sFileName = java.net.URLDecoder.decode(sFileName,"GBK");//浠g爜琛?
聽聽聽聽聽out.println("filename:"+sFileName);
%>
聽聽聽聽聽聽聽聽鐪嬩笂鍘伙紝榪欐牱鑲畾鍙互杈懼埌瑕佹眰浜嗭紝浣嗘槸浜嬪疄涓嶆槸榪欐牱錛宩avascript騫朵笉璇嗗埆jsp緙栫爜鍚庣殑瀛楃涓詫細
鐢ㄩ紶鏍囩Щ鍔ㄥ埌閾炬帴涓婃柟鏃訛紝鍙互鐪嬪埌IE鐘舵佹爮涓婄殑紜槸姝g‘鐨勭紪鐮侊紝鍗?%D6%D0%CE%C4%CE%C4%BC%FE%C3%FB.doc"
鐒惰岃娉ㄦ剰鐨勬槸錛氱敤榧犳爣鍙抽敭鐐瑰嚮閾炬帴-銆夊睘鎬х湅鍒扮殑URL鏄痡avascript:decode('脰脨脦脛脦脛錄鎂脙沒.doc');鍚庢灉鍙兂鑰岀煡錛岃漿鍚戝悗杈撳嚭鐨勬槸涔辯爜銆?br />聽聽聽聽聽聽 寮勪簡鍗婂ぉ錛岃漿UTF-8涔熸槸涓鏍鳳紝涓涓皬闂鏁寸殑寰堥儊闂鳳紝鏈鍚庢兂鍒幫紝榪樺緱鍦╦s榪欓噷涓嬫墜銆?br />聽聽聽聽聽聽 鎶奺ncode.jsp浠g爜琛?娉ㄩ噴鎺夛紝浠g爜琛?鍓嶉潰鍔犲叆涓琛岋細filename = encodeURI(filename);
鐪嬪埌涓鐐硅繘灞曪細杞悜鍚庣殑url宸茬粡寰堣鑼冧簡錛歠ilename=%E4%B8%AD%E6%96%87%E6%96%87%E4%BB%B6%E5%90%8D.doc錛屼絾鏄粨鏋滀粛鐒舵槸涔辯爜銆備負鍟ュ憿錛熸敞鎰忚瀵燂紝鍓嶉潰鐨勭紪鐮佸拰鍚庨潰鏄笉涓鏍風殑錛?br />鐒惰岋紝javascript鐨凟ncodeURI娌℃湁鎻愪緵緙栫爜鍙傛暟,榛樼劧灝辨槸UTF-8.聽 濂斤紝閭d箞聽sFileName = java.net.URLDecoder.decode(sFileName,"UTF-8");琛屼笉琛屽憿錛熺瓟妗堟槸錛氫笉琛岋紝鍘熷洜鎴戠幇鍦ㄨ繕娌℃壘鍒幫紝鎵懼埌浜嗕細鍦ㄦ琛ュ厖錛屽鏋滃摢浣嶇煡閬擄紝榪樻湜鎸囩偣銆?br />瑙e喅鍔炴硶錛氭妸浠g爜琛?鏇挎崲鎴?br />sFileName=聽new String(sFileName.getBytes("ISO-8859-1"), "UTF-8");
鐜板湪鍐嶇湅緇撴灉錛屽凡緇忔槸姝e父鐨勪腑鏂囦簡銆?/font>
琛ュ厖錛欰jax涓紝servlet杈撳嚭涓枃涔嬪悗錛岄渶瑕乯s璇誨彇錛屽悓鏍烽潰涓寸紪鐮侀棶棰橈紝鍙互閲囧彇濡備笅鏂瑰紡錛?br />鍦╯ervlet涓敤URLEncoder緙栫爜sText = URLEncoder.encode(sText,"UTF-8");
鍦╦s涓敤decodeURI瑙g爜xText = decodeURI(xText);