中文附件文件名过长,导致下载时文件名为乱码的错误解决办法


      String fileName = URLEncoder.encode(“哈哈哈哈哈哈哈好的好的好的很好的好烦好烦好烦好烦反反复复凤飞飞热热法国人好方法和回复回复.doc”,"UTF-8");
      fileName = fileName.replaceAll("\\+", "%20");
      if (fileName.length() > 150) {
     //下载的文件名为中文,则需要这样处理,文件名超过17个时,处理方法:
        response.setHeader("Content-disposition","attachment; filename=\"" + new String(fileName.getBytes("utf-8"),"iso8859-1") + "\"");
     }
      else{
       //小于17个字符,不需要处理
       response.setHeader("Content-disposition","attachment; filename=\"" + fileName + "\"");
      }
      
     

你可能感兴趣的:(中文附件文件名过长,导致下载时文件名为乱码的错误解决办法)