CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp生成的下载文档在unix下文件名的中文问题

楼主supertianqu(甜趣)2006-03-03 22:48:09 在 Java / Web 开发 提问

应用中使用db2存储了用户上传的文件(word、jpg、zip等格式),一个字段存储了文件名,用户需要下载时取出这两个字段生成相应文件,在windows平台上正常,但最近移植到unix平台下时文件名不正常显示(文件内容正常),文件名也不是乱码,只是全是英文,也没有相应后缀名。怀疑是编码问题,但不知怎么改,请大家帮我看看。显示代码如下  
   
  <%@   page   contentType="text/html;charset=gb2312"   language="java"   %>  
   
  <%  
  String   path   =   request.getContextPath();  
   
  String   filename=(String)request.getAttribute("fileName");  
  filename=new   String(filename.getBytes(),"iso-8859-1");  
   
  //取文件类型  
  String   filter=filename.substring(filename.lastIndexOf("."));  
  response.setContentType("APPLICATION/OCTET-STREAM");  
  if(filter.equals(".txt"))  
  {  
  response.setContentType("text/plain");    
  }  
  else   if(filter.equals(".doc")||filter.equals(".dot"))  
  {  
  response.setContentType("application/msword;charset=GB2312");  
  }  
  else  
  {  
  response.setContentType("image/jpeg;charset=GB2312");  
  }  
   
  response.reset();  
  response.setHeader("Content-Disposition","attachment;filename="+filename);  
  response.setHeader("Connection","close");  
   
  byte[]   fileByte=(byte[])request.getAttribute("fileByte");  
  //response.reset();  
  response.getOutputStream().write(fileByte);  
  response.getOutputStream().close();  
  %>  
   
  问题点数:20、回复次数:1Top

1 楼koma_wind()回复于 2006-03-04 00:30:57 得分 0

做一个编码处理看看  
        /**  
            *   编码  
            *   @param   s  
            *   @return  
            */  
          public   static   String   getUtf8Str(String   s){  
                  String   ret=null;  
                  try   {  
                          ret=java.net.URLEncoder.encode(s,   "utf-8");  
                  }   catch   (UnsupportedEncodingException   ex)   {  
                  }  
                  return   ret;  
          }  
           
          /**  
            *   解码  
            *   @param   s  
            *   @return  
            */  
          public   static   String   getStrUtf8(String   s){  
                  String   ret=null;  
                  try   {  
                          ret=java.net.URLDecoder.decode(s,   "utf-8");  
                  }   catch   (UnsupportedEncodingException   ex)   {  
                  }  
                  return   ret;  
          }Top

相关问题

  • 如何动态生成文件名???????
  • 列出UNIX系统下的文件名
  • 在VC中如何改掉编译后生成的文件名?
  • 请教:cookie生成的文件名称是什么??
  • 如果修改系统生成的Project1文件名
  • 在C#中如何生成唯一的文件名?
  • 请教:如何生成一个顺序的文件名?
  • 如何修改已生成的工程文件名????Ineed you help
  • 用jsp如何获得本页面的文件名?
  • jsp种怎样获得上传文件的文件名?

关键词

  • .net
  • 文件名
  • 编码
  • 文件
  • ret

得分解答快速导航

  • 帖主:supertianqu

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo