今天弄J2EE后台上传音频文件的功能,发现提交数据到servlet后,取得的控件名称和文本域的中文是乱码,找了很多办法但是情况不同,这里我将我得解决办法记录一下,因为问题不一样,实际情况复杂,沈阳斌子告诫大家,只是提供思路,我写的程序是这么解决的:
1.JSP页面用UTF-8编码集。
2.将servlet中的request.setCharacterEncoding("utf-8");
3.解决上传文件的路径乱码:
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
4.解决表单域字段的值的乱码:
FileItem item;
String value = item.getString("utf-8");
通过以上4个步骤解决问题,解决它困扰了2小时。记录一下。