您的位置:首页 > 理论基础 > 计算机网络

解决Http或Https中下载中文文件乱码和无法下载问题

2017-08-15 11:41 1526 查看

一、解决无法下载中文文件问题

在下载时,经常通过url方式链接到指定文件路径的方式进行下载文件,但是如果文件含有中文时,往往出现http 404 无法找到文件的错误,原因就是文件中包含中文的问题,因此需要tomcat的配置文件中设置编码,如下:

1.HTTPS的端口8443的编码设置

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"  maxThreads="150" keystoreFile="D:\JavaEnvironment\tomcat7\https_info\tomcat.keystore"

keystorePass="huaqin" SSLEnabled="true" scheme="https" secure="true"

clientAuth="false" URIEncoding="utf-8" useBodyEncodingForURI="true" sslProtocol="TLS" />

2.HTTP的端口80端口的编码设置

<Connector port="80" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443"  URIEncoding="utf-8" useBodyEncodingForURI="true" />

总结:关键是添加两个配置项即可:URIEncoding="utf-8" useBodyEncodingForURI="true" 。

二、解决下载时中文名乱码问题

这种问题,一般是通过response的方式来下载文件,因此需要设置response的header:getResponse().setHeader("Content-Disposition", "attachment;filename="+new String(fName.getBytes("gbk"),
"iso8859-1")+".xls");  即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息