这个问题比较老了,但是网上的案例太少。自己做个记号
两个页面a.jsp,b.jsp。一个发,一个收。
a.jsp
 1<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 3<html xmlns="http://www.w3.org/1999/xhtml">
 4<head>
 5<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 6<title>A</title>
 7</head>
 8 
 9<body>
10<% 
11       String str_test = "中文";
12
%>
13<form method=post action="b.jsp?test=<%=java.net.URLEncoder.encode(str_test) %>"> 
14         <input type="submit" value="按钮1">   
15 </form>
16 
17 <form method=post action="b.jsp?test=<%=str_test %>"> 
18         <input type="submit" value="按钮2">   
19 </form>
20 
21</body>
22</html>
23

b.jsp
 1<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 3<html xmlns="http://www.w3.org/1999/xhtml">
 4<head><title>B</title></head>
 5 
 6<body>
 7 
 8<% 
 9       String str = new String(request.getParameter("test").getBytes("ISO8859_1"));
10
%> 
11 <BR>
12 <%=str %> 
13 <BR>
14 <% 
15       String str1 = new String(request.getParameter("test").getBytes("ISO8859_1"),"gb2312");
16
%> 
17 <BR>
18 <%=str1 %>
19
20</body>
21</html>
22

运行a.jsp,点击按钮1.

提交到b.jsp。

如果直接传中文呢?点击按钮2.


结果:

关键的问题在于每个页面中的 charset=gb2312;这个是页面显示中文的关键

posted on 2007-12-07 12:27 湘江夜游神 阅读(774) 评论(0)  编辑  收藏 所属分类: JSP

只有注册用户登录后才能发表评论。


网站导航:
 

Locations of visitors to this page