问题描写叙述:用swfupload上传文件,含有中文名称的文件上传会报错,我用的是获取FileItem对象,用FileItem对象的getName()方法获取文件名会乱码,试着用request.setCharacterEncoding("UTF-8")及fileName= new String(fileName.getBytes("iso-8859-1";),"UTF-8"); 都不能够,用FileItem对象.getString("UTF-8")获取的中文文件名正确,可是写入的时候又不行,有人说在前台提交前编码,后台解码,可是就算获取正确的中文名称吗,写入的时候又会出错。
解决方法:网上说了非常多,都不管用,不管是后天接收转码、或者提交前编码接收时再转码、再或者是改动server的编码或者页面编码,真正的解决方法是无意间发现的:
在后台接收数据一開始就增加一句:request.setHeaderEncoding("utf-8");就可以。