JSP页面乱码全解析

  乱码指的是中文乱码。

一.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" 属性即可。

原文地址:https://www.cnblogs.com/hxsyl/p/5553992.html