主要通过添加以下代码来实现(前提是其他处的编码都设置成了utf-8):
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
本人程序有两个:index.jsp与getinfo.jsp
index.jsp如下,使用复选框传值,传入姓名为中文时显示乱码:
<body>
<form action="getinfo.jsp" method=post name=form>
姓名:<input type="text" name="name">
<p>您熟悉的语言:</p>
<p>
<!-- 供选取语言类型的复选框 -->
<input type="checkbox" name=box value="JSP">Jsp
<input type="checkbox" name=box value="PHP">Php
<input type="checkbox" name=box value="ASP.NET">ASP.NET
</p>
<input type="submit" name="submit" value="Enter">
</form>
</font>
<br>
</body>
getinfo.jsp如下,接收传过来的值并在页面进行显示:
这里接收传过来的name的变量是textContent。因此需要在它的前面附上文章最开始的两行代码,用以进行格式的限定。要放在name前面才有效
<body>
<%
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
String textContent=request.getParameter("name");
%>
<br>
<%=textContent%>>
<p>熟悉的语言是:
<%
String box[]=request.getParameterValues("box");//
for(int i=0;i<box.length;i++){
out.println("<li>"+box[i]+"</li>");
}
//这个遍历的作用是为了显示勾选的语言
%>
</body>