var searchUrl=encodeURI(encodeURI("adminAdminFoodmaterial?f_name="+$("#searchFname").val()));
location.href = searchUrl;
用encodeURI进行两次编码,只进行一次编码,传值到后台接收还是乱码
两次编码后地址栏显示:
后台 接收
String f_name1 = request.getParameter("f_name");
String f_name2 = URLDecoder.decode(f_name1, "utf-8");//方法一
String f_name3 = URLDecoder.decode(f_name1);//方法二
System.out.println(f_name2);
System.out.println(f_name3);
打印结果
解码方法二是过时废弃的方法,不建议使用,原因我也不是很懂,从源码上看
方法二底层还是调用方法一的,只不过个人感觉调用过程中默认了编码格式