让 tomcat 支持中文 URL

最近碰到一个问题:在页面上,一些图片不能正常显示,经过几次尝试,才发现,只要图片访问路径中包含中文,则异常,而如果只含字母或数字则没问题。想到应该是tomcat对中文路径的解析异常。

借助 Google 查到如下解决办法:

在 {tomcat home}/conf/server.xml 中找到下面一句:

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

增添一个属性:URIEncoding="UTF-8" 即可,即:

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