1、jsp頁面代碼:
<%
FuJian fujianObj=(FuJian)pageContext.getAttribute("fuJian");
String objurl=fujianObj.getUrl();
objurl=java.net.URLEncoder.encode(objurl,"UTF-8");
%>
<a href="dowloadController.do?fileUrl=<%=objurl%>" title="點擊下載">文件名</a>
2、Java代碼:
String filepath=request.getParameter("fileUrl");
filepath = new String(filepath.getBytes("ISO-8859-1"), "UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("application/octet-stream");
這兩步就基本可以搞定亂碼和特殊字符了.
二、ajax方式提交中文參數亂碼或丟失符號
1、前臺Js代碼
var paramvalue = $.trim($("#hello").val());
var value = paramvalue.replace(/\+/g, "%2B"); //處理加號
value = value.replace(/\&/g, "%26"); //處理&符號
var url = "helloController.do?paramvalue="+value;
var result = $.ajax({url: url,async: false, cache: false}).responseText;
2、後臺Java代碼:
String value=request.getParameter("paramvalue");
value=new String(value.getBytes("iso8859-1"),"GBK");
這兩部也就基本可以搞定亂碼和特殊字符了。