关于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对象获取的中文是乱码,其他是正常的,我是菜鸟,求高人指教。越详细越好 展开
String username = request.getParameter("username");
String userpwd = request.getParameter("userpwd");
out.println(username);
out.println(userpwd);
%>
接收的另一个JSP页面的表单,只有request对象获取的中文是乱码,其他是正常的,我是菜鸟,求高人指教。越详细越好 展开
3个回答
展开全部
看一下页面的编码,如果是utf-8
那么写成
String username = new String(request.getParameter("username").getBytes("iso-8859-1"), "utf-8");
那么写成
String username = new String(request.getParameter("username").getBytes("iso-8859-1"), "utf-8");
追问
可以,不过能跟我讲讲为什么吗?
追答
普通情况下,中文字符会被自动转换成iso-8859-1的编码格式通过网络传输,而这种格式是没办法直接表示出我们认识的中文字符的,所以还要手动将他转换回之前的字符集。
一般在servlet或者action之前加一个字符过滤器就可以解决这个问题了。过滤器可以自己写,也可以直接在网上找。
展开全部
添加下面代码:
username = new String(username.getBytes("iso-8859-1"),"utf-8");
这样看看行不行
username = new String(username.getBytes("iso-8859-1"),"utf-8");
这样看看行不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.页面编码统一GBK
<%@ page language="java" pageEncoding="GBK"%>
2.request.setCharactEncoding("GBK");
response.setContentType("text/html;charset=GBK");
<%@ page language="java" pageEncoding="GBK"%>
2.request.setCharactEncoding("GBK");
response.setContentType("text/html;charset=GBK");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询