針對亂碼,通常狀況是先後臺以及中間件編碼格式不一樣致使.故須要保證編碼格式相同便可.java
1.前臺頁面格式指定,這裏用的是jsp,故須要將pageEncoding指定爲"UTF-8"瀏覽器
2.指定服務器編碼格式,好比用的tomcat,默認是"ISO-8859-1",打開server.xml找到"<Connector",添加URIEncoding="UTF-8".tomcat
3.若服務器未指定編碼格式,須要在接收的地方強制轉碼,new String("傳遞的中文參數".getBytes("ISO-8859-1"),"UTF-8"),若指定服務器編碼,則不須要強制轉換,不然轉換兩次則轉換成其餘字符.服務器
4.Excel下載中,須要根據瀏覽器指定編碼,具體以下:jsp
String agent = request.getHeader("USER-AGENT").toLowerCase();編碼
String codeFileName = java.net.URLEncoding.encode(fileName, "UTF-8");.net
if(agent.contains("firefox")) {firefox
response.setCharacterEncoding("UTF-8");code
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(), "ISO-8859-1") + ".xls");server
} else {
response.setHeader("Content-Disposition", "attachment;filename=" + codeFileName + ".xls");
}