java ssh uploadify上传附件文件名部分乱码问题_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java ssh uploadify上传附件文件名部分乱码问题

java ssh uploadify上传附件文件名部分乱码问题

 2014/4/3 18:25:40  hls858288  程序员俱乐部  我要评论(0)
  • 摘要:项目环境:ssh上传组件:uploadify问题表现:上传文件成功以后传递的中文参数(文件名称)部分乱码问题处理:首先可以确定是编码问题,然后单独创建测试工程和Servlet并添加uploadify,测试上传获取中文参数,一切正常。修改原来项目中上传路径为测试Servlet,一切正常,由此确定不是页面编码问题,问题应该出在action中。(通过ActionForm接收参数)在action中通过newString(actionForm.getFileName.getBytes(),"UTF-8"
  • 标签:上传 文件 Java 问题 SSH 乱码问题 文件名

?项目环境:

? ? 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");再次测试,问题解决。

? ? 代码:

class="java">@Override
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		try {
			request.setCharacterEncoding("utf-8");
			super.reset(mapping, request);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

?

? ??

发表评论
用户名: 匿名