1. 浏览器发送的请求参数使用什么编码呢?服务器端获取到发过来的请求参数默认使用ISO8859-1进行解码操作,中文一定有乱码问题。
2.request.setCharacterEncoding()方法只对post请求的中文参数有效,对get请求的中文参数无效。因为该方法是设置请求体的解码方式。
3.解决方法:
String fileName = request.getParameter("fileName");
//将乱码转回用ISO8859-1编码前的二进制位
byte[] bytes = fileName.getBytes("ISO8859-1");
//再使用UTF-8进行编码
fileName = new String(bytes,"UTF-8");