主要通過添加以下代碼來實現(前提是其他處的編碼都設置成了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>
