<%
  // 得到文件名字和路径
  String filename = "MengxianhuiDocTest.doc";
  String filepath = "D:\\";
  
  // 设置响应头和下载保存的文件名
  response.setContentType("APPLICATION/OCTET-STREAM");
  response.setHeader("Content-Disposition",
  "attachment; filename=\"" + filename + "\"");
 
  // 打开指定文件的流信息
  java.io.FileInputStream fileInputStream =
   new java.io.FileInputStream(filepath + filename);
   
  // 写出流信息
  int i;
  while ((i=fileInputStream.read()) != -1) {
   out.write(i);
  }
  fileInputStream.close();
  out.close();
 %>

解决方案 »

  1.   

    中文解决的话最好是编个小方法进行一下转换:unicode《=》本地码
      

  2.   

    Java 编程技术中汉字问题的分析及解决
    http://www-900.ibm.com/developerWorks/cn/java/java_chinese/index.shtml
      

  3.   

    参考:
    response.setContentType("application/octet-stream");
    response.setHeader("Content-disposition", "application/octet-stream;filename=\""+new String(fname.getBytes("GBK"),"ISO8859_1")+"\"");
      

  4.   

    谢谢大家的帮助,是这样的jichunweistar(jichunweistar) 的解决办法对4.1.18有效,不过4.0.1中却输出乱码。不过问题已经解决,给分