有没有先设置字符集为中文?你的Cfilename 和生成的莫名其妙的文件名能 列出来看看吗?
解决方案 »
- ajax的后台java类可以调用自己编写的exe文件吗
- SiteMesh框架中复用页面CSS无法使用问题
- 怎样从一个servlet跳到另一个servlet
- 求助四级联动下拉列框
- File "/adminonlytags.tld" not found!我已经设置好了相关信息啊
- 富客户端DWZ复制的项目中出现乱码
- 关于jspSmartUpload在TOMCAT中如何设置?
- jbuilder 7中jsp的开发错误,请高手指点!!!!!!
- 谁能说出该sql语句错在那儿? update user set user_photo = null where user_name ='qq' 注意:user_photo 字段是一个blob字段。
- 问!SERVLET的CLASS文件放在哪个目录下面?
- jsp怎么和JavaBean连接起来呢?
- 各位大哥,谁在苹果机上开发过java程序,需要注意什么,谢谢?
response.addHeader("content-type","application/msword");
response.addHeader("Content-Disposition", "attachment; filename=\"" + "temp.doc\"");//如果这里写死就没有问题
response.setHeader("Connection", "close");
response.setHeader("Content-Type", "application/octet-stream");
while (rs.next())
{
InputStream inFile = rs.getBinaryStream(1);
int length=0;
int STREAM_SIZE = 1000000;
byte[] buffer = new byte[STREAM_SIZE];
while ((length = inFile.read(buffer)) != -1)
{
System.out.println("readed lenth = "+length);
outFile.write(buffer,0,length) ;
System.out.println("write over!!!!!!!!!!");
}
}
rs.close();
System.out.println("111111111");
outFile.close();
System.out.println("222222222222");
} catch(Exception e)
{
e.printStackTrace();
}
finally
{ ConnectionMgr.close(sqlCon);
System.out.println("3333333333333333333");
}
%>
如果是写成一开始从库里取出来的文件名的话,我现在下载的文件名就像CAK5A3O5.这种奇怪的样子,为什么会这样?
调用这个方法以后,下载名好像是随机生成的一些数字符号,可能是 : leshui(大象无形)(有物混成,先天地生) 所说的编码问题,但是不知道该如何解决?
1. 你写response.addHeader("Content-Disposition", "attachment; filename=\"" + Cfilename+"\""); 的时候要确定Cfilename中的字符集是你要设置的字符集,如果不确定,把它转换为ISO8859-1或gbk;
2. 在response.addHeader("content-type","application/msword"); 里指定字符集(charset=gbk之类)试试?