以下是servlet中关于编码的两句代码,我想应该是在这里做文章吧。帮忙看看!谢谢!
//downloadFileName是从表单里得到的文件名
String aFileName = new String(request.getParameter("downloadFileName").getBytes("ISO-8859-1"), "utf-8");
。
。
。
。
。
response.setHeader("Content-disposition", "attachment; filename="+ new String(aFileName.getBytes("utf-8"), "utf-8"));
3 个解决方案
#1
pageEncoding 指的是 JSP 翻译成 Servlet 后的文件编码,并不是指传输使用的编码。
#2
那一般表单提交的数据以什么形式编码??
#3
pageEncoding:看意思都知道是页面的编码格式
上传文件,request.getParameter("downloadFileName")能获到到...?
既然以你的方式产生乱码,那么你在方法的第一句写上request.setCharacterEncoding("utf-8");
当然最好写个filter,这个filter用来转码,代码非常简单:
写了filter,那么在方法的第一句就可以不用加了!
上传文件,request.getParameter("downloadFileName")能获到到...?
既然以你的方式产生乱码,那么你在方法的第一句写上request.setCharacterEncoding("utf-8");
当然最好写个filter,这个filter用来转码,代码非常简单:
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
写了filter,那么在方法的第一句就可以不用加了!
#1
pageEncoding 指的是 JSP 翻译成 Servlet 后的文件编码,并不是指传输使用的编码。
#2
那一般表单提交的数据以什么形式编码??
#3
pageEncoding:看意思都知道是页面的编码格式
上传文件,request.getParameter("downloadFileName")能获到到...?
既然以你的方式产生乱码,那么你在方法的第一句写上request.setCharacterEncoding("utf-8");
当然最好写个filter,这个filter用来转码,代码非常简单:
写了filter,那么在方法的第一句就可以不用加了!
上传文件,request.getParameter("downloadFileName")能获到到...?
既然以你的方式产生乱码,那么你在方法的第一句写上request.setCharacterEncoding("utf-8");
当然最好写个filter,这个filter用来转码,代码非常简单:
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
chain.doFilter(request, response);
写了filter,那么在方法的第一句就可以不用加了!