Web開發中遇到的中文亂碼處理

一、文件名中文亂碼或參數丟失符號
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");
    
這兩部也就基本可以搞定亂碼和特殊字符了。
發佈了93 篇原創文章 · 獲贊 34 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章