tomcat处理中文文件名的访问(乱码)

解决问题的核心在于修改Tomcat的配置,在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码。Tomcat内置的对于get协议中的URL编码是ISO-8859-1,这个字符集不能直接支持中文等双字节的信息,而中文文件的下载链接恰恰是通过get协议进行的。

    打开$tomcat安装目录$/config/server.xml文件,在其中找到如下代码:

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

 

 

 

    这段代码规定了Tomcat监听HTTP请求的端口号等信息,在这里添加一个属性:URIEncoding,值为UTF-8,即可让Tomcat以UTF-8的编码处理get请求:

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

 

 

 

 

在Web应用程序中 如果调用response.sendRedirect()方法重定向到中文文件名的页面 需要如下的方式调用

response.secdRedirect(java.net.URLEncoder.encode("员工信息.html","UTF-8"));

 

posted @ 2016-08-03 11:49  243573295  阅读(4243)  评论(0编辑  收藏  举报