response.sendRedirect("content/template/zpsc.jsp?path="+realPath+"&responseText="+responseText+""); realPath里有汉字 '''response.setContentType("text/html; charset=utf-8"); request.setCharacterEncoding("utf-8"); ''不管用
你前端接收資料的是javascript還是jsp 如果是javascript的話在後台你可以用escape()對文字進行加密,然後用javascript中的unescape()進行解密。 因為javascript自帶這兩個方法來進行加密解密比較方便。這兩個加密解密的方法網路上已經有高手用java的方式實現了,可以下一個工具類別然後就這樣的方式在後台進行加密,在前台用javascript自帶方法進行解密。這樣一定是沒有亂碼的。如果是用jsp接收資料建議不要採用這種方式。可以用一些內建物件傳值。
Response.sendRedirect("content/template/zpsc.jsp?path="+URLEncoder.encode(realPath, "UTF-8")+"&responseText="+URLEncoder.encode(responseText,"UTF-8") +"");
做個好人吧
這樣是肯定不行的,你這個是透過url傳值,會出現轉碼問題
比較簡單和正統的方式是透過request、session、application等內建物件傳值
透過url傳漢字的話,先要將漢字轉成unicode
透過request、session、application等內建物件傳值
前台js: encodeURI(encodeURI(tag))
後台java程式碼: String tag = URLDecoder.decode(tag, "utf-8");
要不寫個 字元過濾器 試試看?
你前端接收資料的是javascript還是jsp 如果是javascript的話在後台你可以用escape()對文字進行加密,然後用javascript中的unescape()進行解密。 因為javascript自帶這兩個方法來進行加密解密比較方便。這兩個加密解密的方法網路上已經有高手用java的方式實現了,可以下一個工具類別然後就這樣的方式在後台進行加密,在前台用javascript自帶方法進行解密。這樣一定是沒有亂碼的。如果是用jsp接收資料建議不要採用這種方式。可以用一些內建物件傳值。
Response.sendRedirect("content/template/zpsc.jsp?path="+URLEncoder.encode(realPath, "UTF-8")+"&responseText="+URLEncoder.encode(responseText,"UTF-8") +"");
做個好人吧
這樣是肯定不行的,你這個是透過url傳值,會出現轉碼問題
比較簡單和正統的方式是透過request、session、application等內建物件傳值
透過url傳漢字的話,先要將漢字轉成unicode
透過request、session、application等內建物件傳值
前台js: encodeURI(encodeURI(tag))
後台java程式碼: String tag = URLDecoder.decode(tag, "utf-8");
要不寫個 字元過濾器 試試看?