注册 登录
编程论坛 J2EE论坛

[求助]如何解决超连接传递汉字参数时出现乱码

lhlzist 发布于 2006-03-30 20:10, 2050 次点击

请问一下当我用下面这条语句传递参数时:
<a href=response.jsp?txtContent=文字 >
respont.jsp? txtcontent=欢迎 大家好</a>

用request.getparameter("txtContent")接收时出现????的乱码,该如何解决啊?



传递页面encode.jsp如下:
<%@ page contentType="text/html; charset=GB2312" language="java" import="java.util.*" errorPage="" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>字符串编码</title>
</head>
<body>
<center>字符串编码</center>
<hr>
经过编码的字符串
<a href=response.jsp?txtContent=<%= java.net.URLEncoder.encode("欢迎 大家好")%> >
response.jsp? txtcontent=欢迎 大家好</a>
<hr>
未经过编码的字符串
<a href=response1.jsp?txtContent=文字 >
respont.jsp1? txtcontent="欢迎 大家好"</a>
</body>
</html>




接受页面response.jsp如下
<%@ page contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<%request.setCharacterEncoding("gb2312");%>
得到的内容为:<%= request.getParameter("txtContent") %>
</body>
</html>

10 回复
#2
飘飘叶子2006-03-30 20:20
jsp乱码问题已经是历史悠久了……
去看一下jsp乱码解决方案吧……一下子我也想不起来……
#3
lhlzist2006-03-30 22:43
jsp乱码解决方案有电子书吗?介绍下啊!
#4
飘飘叶子2006-03-30 23:01

这个算经典问题了……也没什么电子书……只是有一些解决方案而已,但要找找的

#5
飘飘叶子2006-03-30 23:05
#6
lhlzist2006-03-31 22:56
看不懂,有具体解决方法吗?我刚学JSP,很多理论性东西都不懂的啊,能给我个具体解决方法吗?
#7
dabizi12006-04-02 17:39
你的response.jsp改为如下
<%@ page contentType="text/html; charset=gb2312"%>
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<%request.setCharacterEncoding("gb2312");%>
得到的内容为:<%

String s= request.getParameter("txtContent");
byte b[]=s.getBytes("ISO-8859-1");
s=new String(b);
out.print(s);


%>
</body>
</html>
其中
String s= request.getParameter("txtContent");
byte b[]=s.getBytes("ISO-8859-1");
s=new String(b);
out.print(s);
是转为汉字(原因:字符转换的因素,汉字占两个字节,普通字符占一个字节,具体原因自己查书)

#8
dabizi12006-04-02 18:36
清华大学出版的<JSP实用教程>
#9
lhlzist2006-04-06 22:14
我试过了还是不行了啊,得到的还是???的
#10
dabizi12006-04-10 19:58
不会吧,我怎么就能呢?我可只改了一个,不要说你的response1.jsp也要我改吧
#11
halugen2006-05-15 09:24

http://halugen.blog.hexun.com/3558201_d.html
看看这个,也许可以解决。

1