表单提交中文时出现乱码

下面是一个提交页面(submit.jsp),代码如下:

  
<html>
  <head>
  <title>JSP的中文处理</title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  </head>
  <body>
  <form name="form1" method="post" action="process.jsp">
  <div align="center">
  <input type="text" name="name">
  <input type="submit" name="Submit" value="Submit">
  </div>
  </form>
  </body>
  </html>
  //下面是处理页面(process.jsp)代码:
  <%@ page contentType="text/html; charset=gb2312"%>
  <html>
  <head>
  <title>JSP的中文处理</title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  </head>
  <body>
  <%=request.getParameter("name")%>
  </body>
  </html>

  

  如果submit.jsp提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF
  -8编码方式来发送请求,而UTF- 8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。
  解决办法:通过request.seCharacterEncoding ("gb2312")对请求进行统一编码,就实现了中文的正常
  显示。修改后的process.jsp代码如下:
  
<%@ page contentType="text/html; charset=gb2312"%>
  <%
  request.setCharacterEncoding("gb2312");
  %>
  <html>
  <head>
  <title>JSP的中文处理</title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  </head>
  <body>
  <%=request.getParameter("name")%>
  </body>
  </html>

 

posted @ 2016-12-22 11:39  风来风往风伤(TiAmo)  阅读(480)  评论(0编辑  收藏  举报