黑马程序员技术交流社区

标题: jsp页面传中文参数出现乱码 [打印本页]

作者: 张甲甲    时间: 2013-5-27 10:14
标题: jsp页面传中文参数出现乱码
本帖最后由 张甲甲 于 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") ;就好了。

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




作者: Miss小强    时间: 2013-5-27 12:36
可能原因:
1 jsp文件保存的格式不是平台默认;
2 为加上请求头编码信息
乱码的根源:
编码采用的码表和解码采用的码表不一致所导致;
想想你是用什么格式编码的,用什么格式解码的;
就很容易解决;

请楼主贴出全部jsp代码;
才更好的解决问题;

作者: SOAR    时间: 2013-5-27 12:56
你要加在你接收数据的前面啊,但是还有个前提,你的提交方式得是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);
作者: 顾玲玉    时间: 2013-5-27 12:58
SOAR 发表于 2013-5-27 12:56
你要加在你接收数据的前面啊,但是还有个前提,你的提交方式得是post
request.setCharacterEncoding("GBK") ...

jsp前面加上这句试试
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
作者: 张甲甲    时间: 2013-5-27 17:33
SOAR 发表于 2013-5-27 12:56
你要加在你接收数据的前面啊,但是还有个前提,你的提交方式得是post
request.setCharacterEncoding("GBK") ...

对对 没注意这个问题 谢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2