最近在维护老系统的代码的时候,发现很多地方的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"),编码)