日期:2014-05-17 浏览次数:20632 次
response.setContentType("text/xml;charset=UTF-8"); response.setHeader("Cache-Control", "no-cache");
------解决方案--------------------
这个东西处理起来是比较复杂的。有可能真要修改源码。毕竟你是用的编辑器?
------解决方案--------------------
你使用组件的话可能需要修改组件里有段对流处理和文件名字输出的代码部分,一般使用URLEncoder.encode(filename,"UTF-8")来设置需要下载的文件名。
如果我这个可用可以试下我这个。
http://topic.csdn.net/u/20100617/21/a6dccfb2-b793-4f24-a239-9acd65f1e2d7.html
只用我的下载部分就可以。
------解决方案--------------------
response.reset(); response.setContentType("application/x-download"); response.addHeader("Content-Disposition", "attachment;filename=" + new String(filenamedisplay.getBytes("utf-8"), "ISO8859-1")); //filenamedisplay文件名
------解决方案--------------------
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition","attachment; filename="+URLEncoder.encode(titlename, "UTF-8")+".xls");
------解决方案--------------------
伙计,第一你要确定你用的是什么编码,第二编码总共也就那么几个地方可以设置。设置的方法也就这么几种。你自己找下,界面,类,tomcat。来来去去也就这么几个地方。
------解决方案--------------------
厄~~~smartupload已经很久没有人维护了,有不少bug,我记得当时还改过一个它不支持小于4K的小文件上传的
我建议楼主debug它的源代码,很可能是smartupload自己的问题
------解决方案--------------------
你是根据中文找不到文件,还是下载到client文件名是乱码?
试试http head里面放文件名。
------解决方案--------------------
楼主,我的中文附件名是这样的,要不你试试看
String fileName = new String("测试中文".getBytes("GBK"), "iso8859-1"); // 为了防止中文文件名乱码 ,必须要new String response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-disposition", "attachment;filename=" + fileName);
------解决方案--------------------
我觉得你可能从JSP页面传过去的时候就已经是乱码了,试着把文件名打印出来看看是否是乱码,若不是乱码,应该是可以的,一个上传功能用不着修改什么源码。
jsp页面加<%@ page language="java" contentType="text/html; charset=UTF-8"%>
一般没有问题.
------解决方案--------------------
问题还是自己找的好,别人并不清除你的环境,建议你从几个方面来检查字符集
主要是接个接口间的
1、浏览器与你工程的中间的转换,这里字符集不同也会有影响
2、工程中配置文件的字符集
3、tomcat和工程间的转换
------解决方案--------------------
将"水调歌头.doc"进行编码或者使用英文
------解决方案--------------------
将 response.setHeader("Content-Disposition", "attachment; filename=" + filenamedisplay);
中的filenamedisplay 转换能iso8859-1的编码
filenamedisplay =new String(filenamedisplay.getBytes() ,'iso8859-1')
------解决方案--------------------
一般都用英文的吧。