表单提交中文时出现乱码

Posted 风来风往风伤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了表单提交中文时出现乱码相关的知识,希望对你有一定的参考价值。

下面是一个提交页面(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>

 

以上是关于表单提交中文时出现乱码的主要内容,如果未能解决你的问题,请参考以下文章

JSP页面乱码问题

easyui表单提交问题

jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法

使用SpringMVC框架时出现乱码的解决方案----CharacterEncodingFilter过滤器

关于sevlet文件处理中的乱码问题以及处理方法

提交表单时出现 InvalidCsrfTokenException