最近遇到在tomcat运行的项目下载文件时候都出现了乱码,然后经过排查是只有中文命名的文件才有问题,所以就推测有可能和tomcat的编码有关系

tomcat默认的编码:iso8859-1,所以中文的文件下载的都是有问题的,会出现404的报错
比如下载链接:​​​http://127.0.0.1:8080/MyProject/static/api/​​操作手册.doc

所以要修改tomcat默认的编码,在tomcat的conf目录下面找到server.xml,找到对应的如下代码:

<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

修好代码,加上编码设置,设置为utf-8:

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

然后,需要重启tomcat,对于中文名称的文件也可以下载,ok,简单记录一下,方便自己以后复习,有可以帮忙别人