关于JSP的问题,我用request对象接受中文的全是乱码

<%Stringusername=request.getParameter("username");Stringuserpwd=request.getParameter(... <%

String username = request.getParameter("username");
String userpwd = request.getParameter("userpwd");
out.println(username);
out.println(userpwd);
%>
接收的另一个JSP页面的表单,只有request对象获取的中文是乱码,其他是正常的,我是菜鸟,求高人指教。越详细越好
展开
 我来答
幽冥神者
推荐于2017-11-24 · TA获得超过3213个赞
知道大有可为答主
回答量:1953
采纳率:50%
帮助的人:1784万
展开全部
看一下页面的编码,如果是utf-8
那么写成
String username = new String(request.getParameter("username").getBytes("iso-8859-1"), "utf-8");
追问
可以,不过能跟我讲讲为什么吗?
追答
普通情况下,中文字符会被自动转换成iso-8859-1的编码格式通过网络传输,而这种格式是没办法直接表示出我们认识的中文字符的,所以还要手动将他转换回之前的字符集。
一般在servlet或者action之前加一个字符过滤器就可以解决这个问题了。过滤器可以自己写,也可以直接在网上找。
十步天下
2011-12-05 · TA获得超过287个赞
知道小有建树答主
回答量:214
采纳率:100%
帮助的人:248万
展开全部
添加下面代码:
username = new String(username.getBytes("iso-8859-1"),"utf-8");
这样看看行不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gongmeitao
2011-12-04 · 超过26用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:35.4万
展开全部
1.页面编码统一GBK
<%@ page language="java" pageEncoding="GBK"%>
2.request.setCharactEncoding("GBK");
response.setContentType("text/html;charset=GBK");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式