您的位置:首页 > 运维架构 > Tomcat

linux下tomcat部署get请求乱码问题解决方法

2010-12-30 16:19 197 查看
默认情况下,Tomcat对请求采用的默认编码是ISO-8859-1,
这样我们提交的汉字被认为是ISO-8859-1的编码,所以在程序中接收时显示乱码 。
在过滤器中调用request.setCharacterEncoding("GBK"),那么Post上来的汉字将被认为是GBK编码,而
Tomcat5对于Get请求上来的编码并不根据过滤器的设定辨认编码方式,默认的依然是ISO-8859-1,所以,即使你的页面使用默认的编码方式进
行编码,然后使用ISO-8859-1进行解码,得到的结果也不对 。

解决方法:

在TOMCAT中的conf/server.xml中的<Connector中添加两个设置

useBodyEncodingForURI="true" //设置POST和GET使用相同编码

URIEncoding="UTF-8" //对URI使用utf-8编码处理

可以用String提供的编码转化测试,请求的参数值:

name = new String(name.getBytes("ISO8859-1"),"UTF-8").trim();

System.out.println(" name : " + name)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: