String fileName = request.getParameter("filename");
fileName = new String(fileName.getBytes("iso-8859-1"),"UTF-8");
logger.info("第二次文件名为:"+fileName);
前台传过来的请求接受对应的参数,此处为该文件对应的名称或者图片的名称,点击下载的时候,凡是涉及到中文的都是乱码,后台输出因为找不到对应的文件而
抛出异常
类似于这样的,最后自己这样干了,结果成功了
fileName=URLDecoder.decode(fileName,"iso-8859-1");
logger.info("第一次文件名为:"+fileName);
直接改成这样,将之前的注释掉,重启服务器,刷新页面,点击下载,发现下载成功,解析文件名成功
后台输出也日志输出正常
至此ok 结束,之前看网上有人说需要两次的转码,像这样的
fileName=URLDecoder.decode(fileName,"iso-8859-1");
fileName = new String(fileName.getBytes("iso-8859-1"),"UTF-8");
但是我这样尝试不行,所以还是自己尝试一下最好