注册 登录
编程论坛 J2EE论坛

乱码问题?

ynw520 发布于 2007-08-07 16:34, 628 次点击

我有二个页面:
第一个一部分代码如下:
pstmt.execute();
response.sendRedirect("Message.jsp?message=成功注册用户"+userName+".");
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
response.sendRedirect("Message.jsp?message=该用户已存在.");

message.jsp页面
<%@ page contentType="text/html;charset=GBK"%>
<%@ include file="trans.jsp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>信息显示页面</title>
</head>
<body>
<center>
<%
request.setCharacterEncoding("GBK");
String temp=null;
temp=new String(request.getParameter("message").getBytes("iso-8859-1"));%>
<h3><%=temp%></h3>
<%
if(request.getParameter("noshow")==null){%>
<p><a href="Login.jsp">返回注册、登录页面</a></p>
<%}%>
</center>
</body>
</html>

其中我设了字符编码,还有我也用了转换,为何还是乱码啊.

9 回复
#2
huluhulu882007-08-07 16:55
<%@ page contentType="text/html;charset=GBK"%>
<%@ include file="trans.jsp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>信息显示页面</title>
</head>
<body>
<center>
<%
request.setCharacterEncoding("GBK");
String temp=null;
temp=new String(request.getParameter("message").getBytes("iso-8859-1"));%>
<h3><%=temp%></h3>
<%
if(request.getParameter("noshow")==null){%>
<p><a href="Login.jsp">返回注册、登录页面</a></p>
<%}%>
</center>
</body>
</html>


要知道"GBK"是支持中文,而"iso-8859-1"是不支持中文的
你的页面属性是 "GBK",获取的时候怎么值时怎能用"iso-8859-1".
这样肯定会出现乱码啦!
#3
ynw5202007-08-07 17:10

那是我后来改的,进行转换
不进行转换,一样的

#4
小轩子2007-08-07 17:12
写一个过滤器吧
#5
ynw5202007-08-07 17:24
不是吧,还要写个过滤器,麻烦啊
#6
ynw5202007-08-07 17:31
我以前写一个程序,也一样的,就是没有解决这个问题!

哪位大侠帮帮忙啊!!
高手快过来啊!
#7
小轩子2007-08-07 17:33
你这个设置的只是本页面的编码,你没有设置消息框的编码,写个过滤器就能解决这个问题
#8
huluhulu882007-08-07 18:00
request.setCharacterEncoding("GBK");
在这后面加上一句:request.getCharacterEncoding("GBK");

temp=new String(request.getParameter("message").getBytes("iso-8859-1"));
把这句改为:temp=request.getParameter("message");

这样应该可以解决此问题,不妨试试!
#9
guoxhvip2007-08-07 22:30
把request.setCharacterEncoding("GBK");去掉只要下面一句试试
temp=new String(request.getParameter("message").getBytes("8859_1"));

[此贴子已经被作者于2007-8-7 22:31:52编辑过]

#10
stephen7222007-08-10 11:27
你都用utf-8 不就ok了吗
1