表单提交
提交中文表单时,浏览器默认的提交是ISO-8859-1,所以在获得表单信息时,中文提交会乱码;
解决的办法是,在获取表单信息前,先设置request获取信息的编码方式即 request.setCharacterEncoding("gb18030")
如:a.jsp提交到b.jsp
a.jsp页面
<form action="b.jsp" method="post">
<input type="text" name="name">
<input type="submit" value="commit">
b.jsp页面
<% request.setCharacterEncoding("gb18030");//这一句一定要在获取参数之前写,中间最好不要包含jsp文件
String name = request.getParameter("name"); %>
页面链接:
当通过一个页面,链接到下一个页面时,参数的值是中文的时候,下一个链接的页面经常出现乱码
解决的办法是先通过ISO-8859-1的方式获取参数值,然后在转化成gb18030或者gbk等
如:a.jsp链接到b.jsp
a.jsp:页面
<a href="b.jsp?name=<%="我们" %>">xjz</a>
b.jsp:页面
<body>
<%
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"gb18030");
%>
<%=name %>
</body>