这个是分别处理了名字和简历的乱码的改法
String username = request.getParameter("username");
username=new String(username.getBytes("iso-8859-1"),"utf-8");
out.println("<td>" + username + "</td></tr>");
String resume = request.getParameter("resume");
resume=new String(resume.getBytes("iso-8859-1"),"utf-8");
out.println("<td>" + resume + "</td></tr>");
就用这两个
html源代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册页面</title>
</head>
<body>
<h4>用户注册页面</h4>
<form action="register.action" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" size="15"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="password" size="16"></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" name="sex" value="male">男 <input
type="radio" name="sex" value="female">女</td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age" size="5"></td>
</tr>
<tr>
<td>兴趣:</td>
<td><input type="checkbox" name="hobby" value="read">文学
<input type="checkbox" name="hobby" value="sport">体育 <input
type="checkbox" name="hobby" value="computer">电脑</td>
</tr>
<tr>
<td>学历:</td>
<td><select name="education">
<option value="bachelor">学士</option>
<option value="master">硕士</option>
<option value="doctor">博士</option>
</select></td>
</tr>
<tr>
<td>邮件地址:</td>
<td><input type="text" name="email" size="20"></td>
</tr>
<tr>
<td>简历:</td>
<td><textarea name="resume" rows="5" cols="30"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="提交"></td>
<td><input type="reset" name="reset" value="重置"></td>
</tr>
</table>
</form>
</body>
</html>
上代码(分别修改用户名和简历乱码的)
package com.demo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "FormServlet", urlPatterns = { "/register.action" })
public class FormServlet extends HttpServlet {
private static final long serialVersionUID = 54L;
private static final String TITLE = "用户信息";
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html><head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<title>" + TITLE + "</title></head>");
out.println("</head>");
out.println("<body><h4>" + TITLE + "</h4>");
out.println("<table>");
out.println("<tr><td>用户名</td>");
String username = request.getParameter("username");
username=new String(username.getBytes("iso-8859-1"),"utf-8");
out.println("<td>" + username + "</td></tr>");
out.println("<tr><td>密码:</td>");
out.println("<td>" + request.getParameter("password") + "</td></tr>");
out.println("<tr><td>性别:</td>");
out.println("<td>" + request.getParameter("sex") + "</td></tr>");
out.println("<tr><td>年龄:</td>");
out.println("<td>" + request.getParameter("age") + "</td></tr>");
out.println("<tr><td>爱好:</td>");
out.println("<td>");
String[] hobbys = request.getParameterValues("hobby");
if (hobbys != null) {
for (String hobby : hobbys) {
out.println(hobby + "<br/>");
}
}
out.println("</td></tr>");
out.println("<tr><td>学历:</td>");
out.println("<td>" + request.getParameter("education") + "</td></tr>");
out.println("<tr><td>邮件地址:</td>");
out.println("<td>" + request.getParameter("email") + "</td></tr>");
out.println("<tr><td>简历:</td>");
String resume = request.getParameter("resume");
resume=new String(resume.getBytes("iso-8859-1"),"utf-8");
out.println("<td>" + resume + "</td></tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}
代码演示结果
还有就是只需修改一处的
request.setCharacterEncoding("UTF-8");
package com.demo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name = "FormServlet", urlPatterns = { "/register.action" })
public class FormServlet extends HttpServlet {
private static final long serialVersionUID = 54L;
private static final String TITLE = "用户信息";
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html><head>");
out.println("<meta charset=\"UTF-8\">");
out.println("<title>" + TITLE + "</title></head>");
out.println("</head>");
out.println("<body><h4>" + TITLE + "</h4>");
out.println("<table>");
out.println("<tr><td>用户名</td>");
String username = request.getParameter("username");
out.println("<td>" + username + "</td></tr>");
out.println("<tr><td>密码:</td>");
out.println("<td>" + request.getParameter("password") + "</td></tr>");
out.println("<tr><td>性别:</td>");
out.println("<td>" + request.getParameter("sex") + "</td></tr>");
out.println("<tr><td>年龄:</td>");
out.println("<td>" + request.getParameter("age") + "</td></tr>");
out.println("<tr><td>爱好:</td>");
out.println("<td>");
String[] hobbys = request.getParameterValues("hobby");
if (hobbys != null) {
for (String hobby : hobbys) {
out.println(hobby + "<br/>");
}
}
out.println("</td></tr>");
out.println("<tr><td>学历:</td>");
out.println("<td>" + request.getParameter("education") + "</td></tr>");
out.println("<tr><td>邮件地址:</td>");
out.println("<td>" + request.getParameter("email") + "</td></tr>");
out.println("<tr><td>简历:</td>");
out.println("<td>" + request.getParameter("resume") + "</td></tr>");
out.println("</table>");
out.println("</body>");
out.println("</html>");
}
}
演示结果