最近在維護老系統的代碼的時候,發現很多地方的js中文傳值都出現了亂碼,導致很多問題,簡直是頭大,後來同事給出了2種方法解決了亂碼的問題。
方法1:
js中的請求url或者亂碼的變量(假設變量名是name),使用encodeURI()函數
後臺(我這裏用的是java)中的代碼使用 String name = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8"); 這裏的name就是前臺的亂碼變量
方法2:
js中的url 使用2次encodeURI()函數,encodeURI(encodeURI(url))
後臺代碼中使用 String name = java.net.URLDecoder.decode(request.getParameter("name"),編碼)