tomcat 中文问题

hh23 2001-07-03 12:12:34
环境是:
Redhat7.0 apache1.3.14 tomcat 3.1.1 jdk 1.3.1
1) index.jsp
<html>
<head>

<title>
test1
</title>
<head>
<body>
<%@ page contentType="text/html;charset=GBK" %>
<% String str="中文"; %>
<% byte[] by= str.getBytes("GBK");%>
<% String s= new String(by);%>
<a href="test.jsp?name=<%=str%>
">测试jsp的中文</a>
</body>
</html>

2)test.jsp



<%!String name;%>

<%

name=request.getParameter("name");
out.println(name);

%>
<%
if (name==null)
out.print("nothing");
else out.print(name);


%>
<%
out.println("汉字");
%>



结果test.jsp显示:
汉字
为什么URL中的汉字不显示?
...全文
87 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ywsws 2001-07-06
在URL中为test.jsp?name=汉字
但在jsp程序中
name=request.getParameter("name");
out.println(name);
显示为??

有谁知道是什么问题?
回复
ywsws 2001-07-06
hh23你的问题让人有点糊涂,其实应该是:
1) index.jsp
<html>
<head>

<title>
test1
</title>
<head>
<body>
<%@ page contentType="text/html;charset=gb312" %>
<% String str="中文"; %>
<% byte[] by= str.getBytes("GBK");%>
<% String s= new String(by);%>
<a href="test.jsp?name=<%=str%>
">测试jsp的中文</a>
</body>
</html>

2)test.jsp



<%!String name;%>

<%

name=request.getParameter("name");
out.println(name);

%>
<%
if (name==null)
out.print("nothing");
else out.print(name);


%>



结果test.jsp显示:
??
为什么name的值显示为?而不是"汉字"?
回复
ouxing 2001-07-04
对URL中的字符进行编码吧
回复
westwood 2001-07-04
<%@ page contentType="text/html;charset=GBK" %>

不对吧,gb2312才对巴
回复
andyrew 2001-07-04
不对,说未定义的类URLEncode.
回复
sososo 2001-07-04
使用url编码:
<a href="test.jsp?name=<%=URLEncoder.encode(new String(str.getBytes("gb2312"),"iso8859-1"))%>

回复
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2001-07-03 12:12
社区公告
暂无公告