在url地址栏使用中文传参数可能会是乱码了,下面我们来看看正确的jsp中页面间传中文参数转码的方法
转码: 复制代码 代码如下: a.href="./showCont.jsp?tcontent="+encodeURI(encodeURI(tcontent));
解码: 复制代码 代码如下: java.net.URLDecoder.decode((String)request.getParameter("tcontent"), "UTF-8");
例 a.jsp源代码
复制代码 代码如下: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head>
<body> <% String str_test = "华工"; %> <form method=post action="b.jsp?test=<%=java.net.URLEncoder.encode(str_test) %>"> <input type="submit" value="Submit" name="提交"> </form>
</body> </html>
b.jsp源代码
复制代码 代码如下: <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> </head>
<body>
<% String str = new String(request.getParameter("test").getBytes("ISO8859_1")); %> <BR> <%=str %> </body>
|