post方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("UTF-8");
get方式
客户端(前端)两次编码
URLEncoder.encode(URLEncoder.encode(param,"UTF-8"),"UTF-8"))
后台一次解码
String param= URLDecoder.decode(param, "UTF-8");
1.第一次encodeURI,按照utf-8方式获取字节数组变成[-28,-72-83],对字节码数组进行遍历,把每个字节转化成对应的16进制数,这样就变成了[E4,B8,AD],最后变成[%E4,%B8,%AD]
2.第二次encodeURI,把数组最后变成[%25E4,%25B8,%25AD]然后就把处理后的数据[%25E4,%25B8,%25AD]发往服务器端,
详细解释请看大神:https://blog.csdn.net/ck457897564/article/details/77852598