在实现文件上传的Servlet中,当上传界面的用户名为中文时结果页面会有乱码,同时文件名也会有乱码,下面是解决方案,希望可以帮到各位
ServletFileUpload upload = new ServletFileUpload();
//如果ServletFileUpload实例中不设置上面的Factory则报java.lang.NullPointerException: No FileItemFactory has been set.upload.setFileItemFactory(factory);
//解决文件名乱码问题
upload.setHeaderEncoding("utf-8");
if(item.isFormField())
{
//解决用户名文中时的乱码问题
String value = new String(item.getString("utf-8"));
System.out.println(name + "=" + value);
req.setAttribute(name, value);
}
如果有更好的方法,希望指点!