项目中用到文件上传。form提交,如果enctype="multipart/form-data",会发现文件名或者普通表单字段乱码
大家一般解决文件名称乱码比较容易,如以下设置
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload fileload = new ServletFileUpload(factory);
fileload.setHeaderEncoding("utf-8");//解决文件名称乱码
然而,当解析普通文本的时候,String name = item.getFieldName();String value = item.getString();,会发现中文乱码。
网上搜索半天,有的人说用jspSmartLoad,也有人说用new String(fileItem.getName().getBytes(),"utf-8"),等等方法。
经过自己研究,发现最好的方法是String value = item.getString(‘utf-8’);//具体的编码自己更具实际情况填写
,年轻是我们唯一拥有权利去编织梦想的时光