当前页面: 开发资料首页 → JSP 专题 → 为什么提交页面出现的是乱码?
为什么提交页面出现的是乱码?
摘要: 为什么提交页面出现的是乱码?
.htm里定义一个text一个submit
.jsp里获取text中的直,提交英文和数字能正常显示,但是提交中文就是乱码,
查看编码也是gb2312,哪位大侠知道为什么啊?
提取text之前,加上request.setCharacterEncoding("gb2312")
jsp页面也是GB2312的?
这个需要两点要求:
1、从html中用gb2312编码得到文本值,即request.setCharacterEncoding("gb2312");
2、要把得到的值用gb2312编码显示出来。
即<% page contentType="text/html;charset=gb2312"%>
这样的话就可以正常显示了
做个a.jsp文件 里面的代码如下:
<%!
String trans(String chi)
{
String result = null;
byte temp [];
try
{
temp=chi.getBytes("iso-8859-1");
result = new String(temp);
}
catch(java.io.UnsupportedEncodingException e)
{
System.out.println (e.toString());
}
return result;
}
String trans(Object chi)
{
return trans(chi.toString());
}
%>
在你的.jsp文件中导入这个文件(<%@ include file="a.jsp"%>)
把输出的字符串放在trans()里 例如:out.print(trans(s)); //s是你要输出的字符串
以后只要遇到这种情况 只要把这段代码导入就ok了
果然好用了 谢谢