Struts2文件下载中文乱码解决
Struts2文件下载中文乱码解决
萧萧风雨 发表于2年前
Struts2文件下载中文乱码解决
  • 发表于 2年前
  • 阅读 254
  • 收藏 4
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: Struts2文件下载中文乱码解决
  1. 设置Tomcat编码格式为UTF-8:修改tomcat-->conf-->server.xml文件,设置URIEncoding为UTF-8,不设置时默认值为ISO8859-1

    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" URIEncoding="UTF-8"/>

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>

  2. 项目及Java文件,JSP文件格式当然也要是UTF-8

  3. java代码

    /**
         * 设置下载文件名
         * @param downloadFileName
         */
        public void setDownloadFileName(String downloadFileName) {
            try {
                HttpServletRequest request=ServletActionContext.getRequest();
                if (request.getHeader("User-Agent").toLowerCase()
                        .indexOf("firefox") > 0) {
                    this.downloadFileName = "=?UTF-8?B?"
                            + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(downloadFileName
                                    .getBytes("UTF-8")))) + "?=";
                } else {
                    this.downloadFileName = java.net.URLEncoder.encode(
                            downloadFileName, "UTF-8");
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }

共有 人打赏支持
粉丝 5
博文 32
码字总数 7188
×
萧萧风雨
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: