Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2292436
  • 博文数量: 252
  • 博客积分: 5472
  • 博客等级: 大校
  • 技术积分: 3107
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-17 18:39
文章分类

全部博文(252)

文章存档

2012年(96)

2011年(156)

分类: 系统运维

2011-12-16 15:58:03

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

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

  1. <Connector port="8080" protocol="HTTP/1.1"
  2. connectionTimeout="20000"
  3. redirectPort="8443" />

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

 

  1. <Connector port="8080" protocol="HTTP/1.1"
  2. URIEncoding="utf-8"
  3. connectionTimeout="20000"
  4. redirectPort="8443" />

 

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

  1. response.secdRedirect(java.net.URLEncoder.encode("员工信息.html","UTF-8"));
阅读(4196) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~