加急:liunx服务器的jsp中文参数传递怎么收不到了?如:aa.jsp?param=中国?

thkact 2003-05-22 10:49:01
我用的是linux server、apache、tomcat
中文传递参数怎么传递不过去了。
如:http://path/aa.jsp?param=中国
我用String para = request.getParameter(param);得不到值。如果把“中国”换为"china"就可以了。。

请教哥们。用参数 怎么才能传过去?
我不想用session传值!

说明:
在window server 中可以传值!
...全文
25 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
pzl686 2003-06-05
  • 打赏
  • 举报
回复
学习
希偌 2003-05-22
  • 打赏
  • 举报
回复
传递
**************
<a href="<%=request.getRequestURL()%>?username=<%=URLEncoder.encode("中文")%>">click</a>
*********
接收
******
String username=new String(request.getParameter("username").getBytes("ISO8859_1"),"gb2312");
out.println(username);
thkact 2003-05-22
  • 打赏
  • 举报
回复
to :nc201(Bricklayer)

谢谢你。我测试了你的程序,可以出来????了,但是,还是不能显示汉字了。。谢谢!!
JetKingLau 2003-05-22
  • 打赏
  • 举报
回复
试试

request.setCharacterEncoding("UTF-8");

String str = request.getParameter("Name");
Philzzf 2003-05-22
  • 打赏
  • 举报
回复
2.jsp换成:
<%@ page contentType="text/html;charset=gb2312"%>

<%
String param = request.getParameter("param");
param=java.net.URLDecoder.decode(param);
param=new String(param.getBytes("8859_1"),"gb2312");
%>

<%="Param:"+param%>
Philzzf 2003-05-22
  • 打赏
  • 举报
回复
你的用法肯定有问题
举个例子给你
1.jsp:
<%
String param="中文";
param = java.net.URLEncoder.encode(param);
%>
<a href = "2.jsp?param=<%=param%>">go</a>

2.jsp:
<%@ page contentType="text/html;charset=gb2312"%>

<%
String param = request.getParameter("param");
param=java.net.URLDecoder.decode(param);
%>

<%="Param:"+param%>
thkact 2003-05-22
  • 打赏
  • 举报
回复
中文传值过去。。可是什么都没有了。连个乱码"?????"都不出来.
aleccheung 2003-05-22
  • 打赏
  • 举报
回复
我记得在Linux 上 传来的参数不用编码转换,你只要 用java.net.URLEncoder.encode(arg);
就可以了。
另外你的页面头部要设置成ISO-8859-1
<%@ page contentType="text/html;charset=iso8859-1"%>
就可以了。
Philzzf 2003-05-22
  • 打赏
  • 举报
回复

java.net.URLEncoder.encode(param)

然后用
java.net.URLDecoder.decode(param)
eterne 2003-05-22
  • 打赏
  • 举报
回复
encoding问题啦
public static String GB2Unicode(String str) {
try {
return new String(str.getBytes("ISO8859_1"), "gb2312");
}
catch (UnsupportedEncodingException uee) {
return str;
}
}
thkact 2003-05-22
  • 打赏
  • 举报
回复
to:tpz_stamp(Stamp)

真聪明
成功了。。。。
tpz_stamp 2003-05-22
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312" %>
<%
String tempParam="祖国";
String param = new String( tempParam.getBytes("gb2312") , "iso8859_1" );
param = java.net.URLEncoder.encode(param);
%>
<a href = "test2.jsp?param=<%=param%>">go</a>

test2.jsp

<%@ page contentType="text/html; charset=GB2312" %>
<%
String param = request.getParameter("param");
param=new String(param.getBytes("ISO8859_1"),"gb2312");
%>
<%="Param:"+param%>

看了各位的代码,猜的:)
thkact 2003-05-22
  • 打赏
  • 举报
回复
按照: beyond_xiruo(又再次无奈的离开)测试:

出现的信息:

http://172.16.20.200/oa/common/test2.jsp?param=%3F%3F

Param:??

没招了。。。
希偌 2003-05-22
  • 打赏
  • 举报
回复
<%@ page contentType="text/html;charset=gb2312" %>
<%
String param="祖国";
param = java.net.URLEncoder.encode(param);
%>
<a href = "test2.jsp?param=<%=param%>">go</a>

test2.jsp

<%@ page contentType="text/html; charset=GB2312" %>
<%
String param = request.getParameter("param");
param=new String(param.getBytes("ISO8859_1"),"gb2312");
%>
<%="Param:"+param%>
gary_shi 2003-05-22
  • 打赏
  • 举报
回复
你的代码如果是在中文WINDOWS(JDK1.3以下)运行OK的话,可以试试这样的方法
在TOMCAT启动前执行下面的命令
export LANG=zh_CN
thkact 2003-05-22
  • 打赏
  • 举报
回复
我的代码:
test.jsp
<%@ page contentType="text/html;charset=gb2312" %>
<%
String param="祖国";
param = java.net.URLEncoder.encode(param);
%>
<a href = "test2.jsp?param=<%=param%>">go</a>

test2.jsp

<%@ page contentType="text/html; charset=GB2312" %>
<%
String param = request.getParameter("param");
param=java.net.URLDecoder.decode(param);
param=new String(param.getBytes("8859_1"),"gb2312");
%>
<%="Param:"+param%>
thkact 2003-05-22
  • 打赏
  • 举报
回复
http://172.16.20.200/oa/common/test2.jsp?param=%3F%3F
但是我得到的是???, 而不是汉字。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧