我把Tomcat服务器的server.xml的connector配置改为:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="GBK" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="GBK" />
然后请求资源,在浏览器中输入url:http://localhost:8080/dm/test.jsp?username=中国
然后回车访问,然后我再处理servlet中迭代:
String username=request.getParameter("username");
for(int i=0;i<username.getBytes().length;i++){
System.out.println(username.getBytes()[i];
}
输出结果为:39,63,63,63, -88,-78
servlet中设置:
response.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
在test.jsp中,取出username显示:
${username}........
这里访问后显示的是乱码,
这是什么原因?
如果我把这两句话:
response.setCharacterEncoding("GBK");
response.setContentType("text/html;charset=GBK");
去掉,JSP页面能显示正常 ‘中国’字符。 |