前台传递一个百分数,比如30%,java后台通过request.getParameter(),取得的是乱码,请问这该怎么解决?
需要用“30%”的方式,或者转码,传送到后台,后台才能获取到具体的值
https://blog.csdn.net/woshixuye/article/details/8889568,参考一下,前台UrlEncode编码,后台接收时get方式不用解码,post需要解码
%百分号是 encodeURIComponent(“中文”) 之后出现的,如果你想 decodeURIComponent 之后还保留 %百分号,那么必须对百分号也进行encode,变成 %25,你上面就应该是 content = 中文%25
应该是%引起的,你传个30不就好了,绝对不会乱码。
字符串传递就好,或者编码为byte传递
不懂,为什么一定要传递一个%呢?自己在后台加进去不行吗?
前端传递数据之前用urlencode把字符串进行encode,后端用getParameter取出数据后,再用URLDecoder进行decode就行
前段参数值使用encodeURI(encodeURI(param))进行两次编码
后端java使用
String value=request.getParameter("param");
value = java.net.URLDecoder.decode(param,"UTF-8");