A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张甲甲 中级黑马   /  2013-5-27 10:14  /  1512 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张甲甲 于 2013-6-4 14:22 编辑

我写了一个简单地jsp页面有个表单输入:
input.htm
<FORM METHOD="get" ACTION="input.jsp">
输入信息:<INPUT TYPE="text" NAME="info">
<INPUT TYPE="submit" value="显示">
</FORM>

input.jsp 页面代码如下:


input.jsp
<%
String str = request.getParameter("info") ;// 接收表单参数
%>
<h2>参数内容:<%=str%></h2>
可是如果输入中文就全是乱码了,我在网上查了查加上在 input.jsp里面加上request.setCharacterEncoding("GBK") ;就好了。

可是我做实验还是不成功。。。你们帮着看看吧 谢啦



4 个回复

倒序浏览
可能原因:
1 jsp文件保存的格式不是平台默认;
2 为加上请求头编码信息
乱码的根源:
编码采用的码表和解码采用的码表不一致所导致;
想想你是用什么格式编码的,用什么格式解码的;
就很容易解决;

请楼主贴出全部jsp代码;
才更好的解决问题;
回复 使用道具 举报
你要加在你接收数据的前面啊,但是还有个前提,你的提交方式得是post
request.setCharacterEncoding("GBK") ;
String str = request.getParameter("info")
如果你的提交方式是get
那就得这么整了
String str = request.getParameter("info");
byte b[] = str.getBytes("iso-8859-1");
str = new String(b);
回复 使用道具 举报
SOAR 发表于 2013-5-27 12:56
你要加在你接收数据的前面啊,但是还有个前提,你的提交方式得是post
request.setCharacterEncoding("GBK") ...

jsp前面加上这句试试
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
回复 使用道具 举报
SOAR 发表于 2013-5-27 12:56
你要加在你接收数据的前面啊,但是还有个前提,你的提交方式得是post
request.setCharacterEncoding("GBK") ...

对对 没注意这个问题 谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马