浏览器传送参数时,可能会将中文或特殊符号忽略。
这时需要将字符串进行编码,转换成浏览器支持的类型。如:%E4%B8%AD%E5%9B%BD
然后在接收页将之转换回来,从而巧妙的获取到参数。
String str1 = "中国"; //需要传送的参数。
String str2 = java.net.URLEncoder.encode(str1,"utf-8"); //将str1转换成utf-8格式
<a href="action.jsp?text="+str2+"">点击</a>
//连接地址为:http://localhost/action.jsp?text=%E4%B8%AD%E5%9B%BD
action.jsp页面
String str3 = new String(request.getParameter("text").getBytes("ISO8859-1")); //设置获取参数的字符集,避免出现乱码或问号。
str3 = java.net.URLDecoder.decode(str3,"utf-8");
out.println("text="+str3);
通过这种方法就可以使用GET方法在JSP中进行特殊字符的传输。
欢迎大家拍砖。