乱码问题由来已久,请参考我们jsp教程中专门讨论的部分。
http://www.family168.com/tutorial/jsp/html/jsp-ch-02.html#jsp-ch-02-02

解决方案 »

  1.   

    String UserId = request.getParameter("txtuserid"); 前面加上一句request.setCharacterEncoder("GBK");
    String UserId = request.getParameter("txtuserid"); 
      

  2.   

    request.setCharacterEncoding("GBK");(*^__^*) 
      

  3.   

    由于接收参数没有采用正确的编码方式,它采用的是默认的ISO编码方式,不支持中文,所以在传参数之前
    先设定参数的编码方式
    CustomerRegistration.java
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.*;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class CustomerRegistration extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html;charset=gb2312";
    public void destroy() {
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println(" <HTML>");
    out.println("  <HEAD> <TITLE>CustomerRegistration </TITLE> </HEAD>");
    out.println("  <BODY bgcolor = \"#ffffff\">");
    request.setCharacterEncoding("GBK");
    String UserId = request.getParameter("txtuserid");
    String Password = request.getParameter("txtpassword");
    String FirstName = request.getParameter("txtname");
    String Gender = request.getParameter("rbgender");
    String Age = request.getParameter("txtage");
    out.println(" <table border = 0 align = center width = 50%>");
    out.print(" <tr> <td colspan = 2> <center> <font color=red size=6>用户注册详细信息 </font> </center> </td> </tr>");
    out.println(" <tr> <td>用户ID: </td> <td> <font color=red face=宋体>" + UserId + " </font> <td> </tr>");
    out.println(" <tr> <td>密码: </td> <td> <font color=red face=宋体>" + Password + " </font> <td> </tr>");
    out.println(" <tr> <td>姓名: </td> <td> <font color=red face=宋体>" + FirstName + " </font> <td> </tr>");
    out.println(" <tr> <td>性别: </td> <td> <font color=red face=宋体>" + Gender + " </font> <td> </tr>");
    out.println(" <tr> <td>年龄: </td> <td> <font color=red face=宋体>" + Age + " </font> <td> </tr>");
    out.println(" </table>");
    out.println(" </body>");
    out.println(" </HTML>");
    out.close();
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request,response);
    }
    public void init() throws ServletException {
    // Put your code here
    }}