form表单提交乱码问题?

我这个form表单提交数据发生乱码问题form.jsp:<%@pagelanguage="java"contentType="text/html;charset=gbk"... 我这个form 表单提交数据发生乱码问题
form.jsp:
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Form表单提交</title>
</head>
<body>
<% request.setCharacterEncoding("gbk");%>
<form action="b.jsp" method="post">
name:<input type="text" name="username"/><br/>
password:<input type="password" name="password"/><br/>
<input type="submit" value="submit"/>
</form>

</body>
</html>
b.jsp:
<%@ page language="java" contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
</head>
<body>
<% String str=request.getParameter("name");

out.println(str);%>
</body>
</html>
展开
 我来答
沉零曼沫1M
2015-11-19 · TA获得超过5748个赞
知道答主
回答量:1998
采纳率:100%
帮助的人:256万
展开全部
如何解决乱码的问题? JSP和Servlet的六种中文乱码处理方法 一、表单提交时出现乱码: 在进行表单提交的时候,经常提交一些中文,自然就避免不了出现中文乱码的情况,对于表单来说有两种提交方式:get和post提交方式。所以请求的时候便有get请求和post请求。每种方式都有着不同的解决方法,之所以出现乱码,原因就在于get请求时,其传递给服务器的数据是附加在URL地址之后的;而post的请求时,其传递给服务器的数据是作为请求体的一部分传递给服务器。这也就导致了对它们所产生的乱码的处理方式是不同的。 1、客户端的get请求 对于不同的请求方式,解决乱码的问题也是不一样的,对于客户端的get请求来说,服务器端处理要想不出现乱码,解决这个问题稍微复杂一些,需要用到String类型的构造函数,其中的一个构造函数就是用指定的编码方式去解码,一般都用“UTF-8”的方式。只要在服务器端将请求得到的参数重新构造成一个字符串就行了。 经过构造之后,客户端输入中文,且表单时get请求的情况下,str就变成了中文了。 2、客户端的post请求 对于客户端的post请求来说,处理乱码的问题就比较简单了,因为请求的数据时作为请求体的一部分传递给服务器的,所以只要修改请求内的编码就行了。只要在服务器端的最开始处将请求的数据设置为“UTF-8”就行了,输入如下语句:request. setCharacterEncoding(“UTF-8”);这样用户在服务器端获取到的中文数据就不再是乱码了。 二、超链接时出现乱码(低版本浏览器不行IE6) 在Web开发中,挺多的时候都是通过超链接去传递中文参数的,这也会导致在显示的时候也会出现乱码,对于超链接来说,它实际上是向服务器端发送了一个请求
电子技术行业应用狂想
2012-12-28 · 超过24用户采纳过TA的回答
知道答主
回答量:77
采纳率:80%
帮助的人:36.6万
展开全部
那个啥<% request.setCharacterEncoding("gbk");%>
改为<% response.setCharacterEncoding("gbk");%>这样你的b.jsp里接收的数据就是用gbk编码的数据了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lmy_sk521
2012-12-28 · TA获得超过2272个赞
知道小有建树答主
回答量:1330
采纳率:73%
帮助的人:716万
展开全部
<% String str=request.getParameter("name");
str = new String(str.getBytes("ISO-8859-1"),"gbk");
out.println(str);%>
追问
报错了啊 500
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception org.apache.jasper.JasperException
追答
在String str=request.getParameter("name");这句代码前加一句
request.setCharacterEncoding(gb2312);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huoyue0094
2012-12-28 · 贡献了超过102个回答
知道答主
回答量:102
采纳率:0%
帮助的人:18.3万
展开全部
鲁大师 3.34.12.1005
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式