首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为文件下载servlet设置UTF-8编码

如何为文件下载servlet设置UTF-8编码
EN

Stack Overflow用户
提问于 2010-12-28 00:12:59
回答 2查看 20.5K关注 0票数 5

我有一个将文件发送到浏览器的servlet。

我在servlet中发送这个头文件。

代码语言:javascript
复制
if (request.isSecure()) {
            response.addHeader("Pragma", "no-cache");
            response.addHeader("Expires", "-1");
            response.addHeader("Cache-Control", "no-cache");
    } else {
            response.addHeader("Cache-Control", "private");
            response.addHeader("Pragma", "public");
    }

    if (isIE) {
            response.addHeader("Content-Disposition", "attachment; filename=\"" + encName + "\"" );
            response.addHeader("Connection", "close");
            response.setContentType("application/force-download; name=\"" + encName + "\"" );
    } else {
        response.addHeader("Content-Disposition", "attachment; filename=\"" + encName + "\"" );
        response.setContentType("application/octet-stream; name=\"" + encName + "\"" );
        if (contentLen > 0) {
            response.setContentLength(contentLen);
        }                        
    }

然后我将文件发送到浏览器,但我在文件编码方面遇到了问题。该文件的内容是UTF-8,但我不知道如何发送标头。

有谁知道我该怎么做吗?

EN

回答 2

Stack Overflow用户

发布于 2010-12-28 00:17:53

不需要告诉浏览器该文件是UTF-8编码的。通过将内容类型设置为application/octet-stream,您可以指定文件不能被解释,并且可能根本不是纯文本。

如果您绝对希望声明一种编码,请停止将该文件声明为application/octet-stream,而是将其声明为"text/plain;charset=utf-8“。

票数 10
EN

Stack Overflow用户

发布于 2010-12-28 00:19:57

response.setCharacterEncoding("utf-8");

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4540003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档