乱码指的是中文乱码。
一.POST乱码
由于两个页面都是用UTF-8编码,但是参数的传输默认是ISO-8859-1,这时候可以在接受参数之前
request.setCharacterEncoding("UTF-8");
二.GET乱码
如下方式,
<a href="mainPage.jsp?userName=李四">测试Get方法(URL传参数)</a>
浏览器地址栏和显示结果会乱码,可以获取参数后按UTF-8编码
String str= request.getParameter("userName"); String userName = new String(str.getBytes("ISO-8859-1"),"UTF-8");
但是每次GET都这么做会很麻烦,修改Tomcat的server.xml的Connector,这个也是更改默认端口的地方,最后加入URIEncoding="UTF-8"。
<Connector port="9999" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
还有一种就是修改tomcat的server.xml配置文件,参照tomcat帮助文档中的/docs/config/index.html 文档的useBodyEncodingForURI 属性。为Connector 节点添加useBodyEncodingForURI="true" 属性即可。
时间: 2024-11-07 19:44:47