`

下载并解决中文乱码问题

阅读更多
log.info("进入CmsStaffAct.v_export");
try {


CmsSite site = cmsSiteMng.findById(id);

if(site==null){
throw new Exception("企业不存在");
}

//获取站点下面所有的号码,并下载
String realPath = request.getSession().getServletContext().getRealPath("/upload")+"/";
String fileUrl = staffMng.exportDeal(realPath,site.getShortName(),id);

response.setContentType(ExportFileType.ZIP.desc);// 不同类型的文件对应不同的MIME类型
response.setCharacterEncoding("utf-8");

String zipName = site.getShortName()+".zip";

String agent = request.getHeader("User-Agent");
boolean isMSIE = (agent != null && agent.indexOf("MSIE") != -1);
if (isMSIE) {
zipName = URLEncoder.encode(zipName, "UTF-8");
}else{
zipName =new String(zipName.getBytes("UTF-8"), "ISO-8859-1");
}
response.setHeader("content-disposition", "attachment;filename=" + zipName); 
log.info("退出CmsStaffAct.v_export,fileUrl:"+fileUrl);

BufferedOutputStream bos = null;
BufferedInputStream  bis = null;
try {
            bis = new BufferedInputStream(new FileInputStream(fileUrl));       
            bos = new BufferedOutputStream(response.getOutputStream());
           
            byte[] buff = new byte[2048];
            int bytesRead;


            while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
                bos.write(buff,0,bytesRead);
            }
        } catch(final IOException e) {
        e.printStackTrace();
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().write("<script type=\"text/javascript\">alert(\""+e.getMessage()+"\")</script>");
        } catch(Exception e) {
        e.printStackTrace();
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().write("<script type=\"text/javascript\">alert(\""+e.getMessage()+"\")</script>");
        }finally {
            if (bis != null)
                bis.close();
            if (bos != null)
            {
                bos.flush();
                bos.close();
                bos=null;
            }
        }
        response.flushBuffer();
} catch(Exception e) {
        e.printStackTrace();
        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().write("<script type=\"text/javascript\">alert(\""+e.getMessage()+"\")</script>");
        response.flushBuffer();
    }
分享到:
评论

相关推荐

    FORM表单中文乱码问题分析与解决

    解决方法:解决中文乱码问题的方法有两种,一种是使用POST方式,另一种是使用GET方式。 1、POST方式:在POST方式中,我们可以使用request.setCharacterEncoding("UTF-8")来指定解码方式为UTF-8。这将使服务器使用...

    彻底解决中文乱码的问题

    本篇文章将深入探讨这个问题,并提供一种彻底解决中文乱码问题的方法。 首先,我们需要理解什么是乱码。乱码通常出现在字符编码不匹配的情况下,即数据存储或传输时采用的编码格式与读取或显示时使用的编码格式不...

    解决中文乱码问题

    "解决中文乱码问题" 标题解释 解决中文乱码问题是指在使用C#语言读取txt文件时,遇到中文乱码的问题。这种问题在实际开发中非常常见,特别...在ASP.NET框架中,C#语言可以用于开发Web应用程序,并解决中文乱码问题。

    Java生成pdf文件,解决中文乱码问题.pdf

    使用 iText 库可以生成高品质的 PDF 文件,并解决中文乱码问题。 2. 设置中文字体 在生成 PDF 文件时,正确地设置中文字体是解决中文乱码问题的关键。iText 库提供了多种中文字体,包括宋体、黑体、楷体等。在本...

    Linux系统中文乱码解决完整方案

    本文档提供了两个解决方案:方法一是使用 Putty 代替 Secure Shell Client,修改窗口 Translation 中的 Received data assumed to be in which character set 值为 UTF-8,从而解决中文乱码问题。方法二是修改 Linux...

    sqlite3 for delphi 解决中文乱码问题

    "sqlite3 for delphi 解决中文乱码问题"这个主题,正是针对这一问题提供了解决方案。这里我们将详细探讨SQLite3在Delphi中的应用,中文乱码的成因,以及如何通过自定义修改来解决这个问题。 首先,SQLite3是一个轻...

    配置web-xml解决中文乱码问题.pdf

    配置 Web.xml 解决中文乱码问题 本文主要讨论了在 Web 开发中遇到的中文乱码问题,并提供了一些解决方案。...本文讨论了多种解决方案,并提供了一些配置文件的示例代码,希望能够帮助读者更好地解决中文乱码问题。

    解决JSP中文乱码问题

    解决 JSP 中文乱码问题 解决 JSP 中文乱码问题是一个很常见...解决 JSP 中文乱码问题需要从多方面入手,包括在 JSP 文件中指定编码方式,在 Java 文件中指定编码方式,在页面中指定编码方式,并确保编码方式的一致性。

    linux解决中文乱码问题

    在Linux系统中,中文乱码问题常常困扰着用户,尤其是对于那些需要处理中文文本的开发者和运维人员。...通过以上方法,一般可以有效避免和解决中文乱码问题,使得在Linux环境中处理中文文本更加顺畅。

    解决linux下oracle中文乱码问题,添加中文支持

    解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码...

    editplus插件htmlFormatter.js解决中文乱码问题

    本文将深入探讨如何利用EditPlus插件htmlFormatter.js来解决中文乱码问题,以及在格式化HTML文件时的注意事项。 首先,我们了解下中文乱码问题的背景。在处理包含中文字符的HTML文件时,如果没有正确设置编码或者在...

    使用过滤器解决中文乱码问题

    ### 使用过滤器解决中文乱码问题 在Web开发过程中,经常遇到的一个问题是中文或其它非ASCII字符的乱码问题。这种现象通常出现在浏览器接收的数据与实际编码格式不匹配时。解决此类问题的一种常见方法是使用过滤器...

    Intraweb12 解决汉字乱码问题

    在实际操作中,解决汉字乱码问题的步骤如下: 1. 卸载现有Intraweb版本:通过控制面板或第三方卸载工具,彻底卸载已安装的Intraweb组件,确保没有遗留的配置文件影响新版本的安装。 2. 安装Intraweb12:运行"iw...

    乱码问题的解决

    "乱码问题的解决" 在 Web 开发中,乱码问题是常见的难题之一。乱码问题的出现主要是由于编码不一致引起的。编码不一致可能出现在多个方面,如页面编码、服务器编码、客户端编码、数据库编码等。在本文中,我们将...

    解决tomcat中文乱码问题

    解决tomcat中文乱码问题,有详细的解释说明,希望对需要的人有所帮助

    java解决中文乱码问题

    Java 解决中文乱码问题 Java 中文乱码问题是中国程序员无法避免的话题。乱码的出现是由于中文和英文的编码格式不同,解码也是不一样的。如果中国的程序员不会遇到乱码,那么只有使用汉语编程。Han语编程是怎么回事...

    springMVC解决中文乱码

    SpringMVC解决中文乱码问题 SpringMVC 框架中,中文乱码问题是常见的问题之一。解决这个问题的关键是正确地配置字符编码。下面我们将详细介绍 SpringMVC 中解决中文乱码问题的思路和方法。 配置文件中的字符编码 ...

    QTreeWidget用法并解决中文乱码问题 QTreeWidgetItem

    QTreeWidget用法并解决中文乱码问题 Qt中实现树形结构可以使用QTreeWidget类,QTreeWidgetItem,也可以使用QTreeView类,QTreeWidget继承自QTreeView类。

Global site tag (gtag.js) - Google Analytics