jsp表单传值后在页面中文显示乱码

主要通过添加以下代码来实现(前提是其他处的编码都设置成了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>

 

posted @ 2016-06-30 20:24  wumengchao1234  阅读(7798)  评论(0编辑  收藏  举报