表单提交中文时出现乱码

下面是一个提交页面(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>
时间: 2024-10-05 06:12:11

表单提交中文时出现乱码的相关文章

JSP表单提交中文乱码解决方案

分2种提交方式,解决方案不同: 1.form表单提交方式为get 乱码: 解决方案: 第1种方法:tomcat-config-sever.xml 第2种方法: <% String username = request.getParameter("username"); String name = new String(username.getBytes("ios-8859-1"),"utf-8"); String password = re

表单提交中文后台乱码

通过form表单提交到后台 通过form传入后台,提交方式分为post和get两种.两者的区别需要通过提交表单后才看得出来,主要是在数据发送方式和接收方式上.Post和Get都是表单属性Method的可选值,Method的默认值为Get,两者的主要区别在于: 1.在客户端,Get方式在通过URL提交数据,提交后在地址栏中的地址会出现传入到后台的参数:而Post提交后地址栏中的地址不会出现参数. 2.在服务器端只能用Request.QueryString来获取Get方式提交来的数据,用Post方式

JSP表单提交中文乱码

简要笔记:由于jsp默认表单提交编码方式是:ISO-8859-1,而我们需要的是utf-8或者是gbk码,故需要转化. 具体方法是:在表单处理文件中,将获取到的变量进行转换. String userName = request.getParameter("userName"); String password = request.getParameter("password"); out.println("表单输入userName的值:" + n

表单提交时候后台数据乱码

利用ajax 表单提交数据, 页面属性跟服务端属性都设置为utf-8, 但是数据提交的时候抓包抓出来的中文字符显示的是乱码, form 表单里面添加 accept-charset="ISO-8859-1" accept-charset 属性允许您指定一系列字符集,服务器必须支持这些字符集,从而得以正确解释表单中的数据.该属性的值是用引号包含字符集名称列表.如果可接受字符集与用户所使用的字符即不相匹配的话,浏览器可以选择忽略表单或是将该表单区别对待.

Jobs(二) HTML的form表单提交中文后,后台取出乱码的问题

解决form表单中提取的中文在后台乱码的问题有两种情况: form表单以GET方式提交: form表单以POST方式提交 解决以GET方式提交的中文乱码问题,可以更改Tomcat服务器的配置文件:F:\Program Files\tomcat\conf\server.xml,找到以下标签,指定编码格式属性"URIEncoding="utf-8"". <Connector connectionTimeout="20000" port=&quo

.net表单提交到 java后台乱码的解决

最近在和其他系统对接的时候,对方要求我们写前台页面,但是提交需要提交到对方后台中,由于我们系统采用的是 asp.net而对方后台采用的是java,因此在一开始对接的时候总是出现乱码的情况.后来经排查发现是由于.net 默认的编码方式为 GB2312,如果java中编码方式为 UTF-8 则会出现乱码问题,解决方法为: 在页面指令中增加一个 ResponseEncoding="utf-8"  即: <%@ Page Language="C#" AutoEvent

springmvc 前端表单提交给后端出现乱码

在springmvc框架练习中遇到了乱码问题,经过一番网上查找解决方法之后,最后发现是需要在tomcat中的server.xml中添加编码设置 URIEncoding="UTF-8",建议大家先试试这个解决方法,往server.xml的第二行插入下面这行代码. <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol=&qu

js实现无刷新表单提交文件,将ajax请求转换为form请求方法

最近在做项目的时候遇到一个需要上传文件的需求,因为ajax请求是无法上传二进制文件流的,所以只能用form表单提交,而form提交有一个问题就是会使页面刷新,本文解决了form表单提交文件时页面刷新的问题. 一.无刷新实现form提交文件 将form的target指向为一个iframe就可以实现无刷新提交文件了,但关键是还需要看到后台返回的数据,所以还需要为该iframe注册一个回调函数,因为iframe和该页面在同域内,所以可以在iframe里可以调用该回调函数,就可以看到后台返回的数据了.实

中文乱码又一解决方法:将表单提交方式由get改为post

当把所有牵涉到的都改为utf-8时,依然有乱码.后来在网站上求助,滄海一夢 给出了这个解决方案:将表单提交方式由get改为post,果然成功.谢过! 1.filter/comments.jsp: <%@ page language ="java" import="java.util.*" pageEncoding="UTF-8" %> <% String path = request.getContextPath(); Stri