java ssh uploadify上传附件文件名部分乱码有关问题
java ssh uploadify上传附件文件名部分乱码问题
项目环境:
ssh
上传组件:
uploadify
问题表现:
上传文件成功以后传递的中文参数(文件名称)部分乱码
问题处理:
首先可以确定是编码问题,然后单独创建测试工程和Servlet并添加uploadify,测试上传获取中文参数,一切正常。修改原来项目中上传路径为测试Servlet,一切正常,由此确定不是页面编码问题,问题应该出在action中。(通过ActionForm接收参数)
在action中通过new String(actionForm.getFileName.getBytes(),"UTF-8");强制转码,文件名继续部分乱码,编码修改为GBK,全部乱码。
所以分析问题应该是在ActionForm中接收参数时已经进行过转码(项目中未添加编码Filter),故在ActionForm中override reset方法,在reset方法中设置编码request.setCharacterEncoding("UTF-8");再次测试,问题解决。
代码:
@Override public void reset(ActionMapping mapping, HttpServletRequest request) { try { request.setCharacterEncoding("utf-8"); super.reset(mapping, request); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } }