关于URL中包含“#”等符号的处理

02-12-23 拉灯
程序如下:

String name="#20你好";

<a href="aaa.jsp?a=<%=name%>">aaa</a> //如果这里换成<javascript:window.open(URL)>会下页取不到值

//这样做URL肯定不可以识别,故作以下处理

String name2=java.net.URLEncoder.decode(rs.getString("Name");

<a href="aaa.jsp?a=<%=name2%>">aaa</a>

问题:在aaa.jsp页面取a的值有如下几种问题:

1。取不到值什么也没有

如果将href换成window.open取不到值

2.乱码

String name=request.getParameter("a");

Name=java.net.URLEncoder.encode(name); //用UTF-8,我的JDK1.2不支持,JDK1。4支持,不过没法方式

//Name =java.net.URLDecoder.decode("%E6%94%AF%E4%B8%9D%E5%85%89%E6%AF%9B%E5%B7%BE","UTF-8"); //decode也不行

//Name=java.net.URLDecoder.decode(name);

//byte[] temp2=name.getBytes("8859_1"); //换成GBK,和下面对调

//String Name1=new String(temp2, "GBK"); //换成8859_1,和上面对调

//String Name1 = new String(name.getBytes(),"iso-8859-1");

//String Name1 = new String(Name.getBytes(),"8859_1");

//以上两种方法都不行

String Name1 = new String(name.getBytes(),"GBK"); //这样也不行

猜你喜欢