飞艳小屋

程序--人生--哲学___________________欢迎艳儿的加入

BlogJava 首页 新随笔 联系 聚合 管理
  52 Posts :: 175 Stories :: 107 Comments :: 0 Trackbacks
设置Tomcat的UTF-8编码
不知道算不算Tomcat的BUG,利用request.setCharacterEncoding("UTF-8");来设置Tomcat接收请求的编码格式,只对POST方式提交的数据有效,对GET方式提交的数据无效!不知道是否有人遇到跟我一样的问题?

要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码。

我所使用的Tomcat版本是5.5.16,其它版本没试过,不知道是否存在同样的问题。
posted on 2006-06-22 09:25 天外飞仙 阅读(9536) 评论(3)  编辑  收藏

Feedback

# re: 设置Tomcat的UTF-8编码 2008-05-21 19:43 zhangsw
感谢啊!
很好用,设置了,就好用了!  回复  更多评论
  

# re: 设置Tomcat的UTF-8编码 2008-08-06 11:50 ZL
汗,我也遇到了,写了一个监控模块,,,,,布置在linux下tomcat5.0+上的,其他模块中文显示都OK,就这监控模块,响应报文返回给面页时,中文始终不能正常显示,郁闷  回复  更多评论
  

# re: 设置Tomcat的UTF-8编码 2013-01-05 17:34 Jessy
原因:因為 post裡面的內容,是tomcat的container在處理,所以編碼若使用 request.setCharacterEncoding("UTF-8") 會起作用。但是 Get因為是網址的關係,URL則是 http server在處理,所以tomcat container管不著,就無法對其做處理。除了server端的設定,在程式裡面也是可以有解法的:
String name = request.getParameter("name");
String name = new String(name.getBytes("ISO-8859-1"), "UTF-8");  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: