请教传递参数出现乱码问题
传递参数中含有中文和英文,
在java.net.URLEncoder.encode()后传递参数时先传给javascript脚本,但在javascript脚本显示的参数时乱码,
所以在接收页java.net.URLDecoder.decode()出现的是乱码,应该怎么解决。
谢谢!!!页面代码:
out.print("<td align=middle><a href=javascript:openWindow('viewservices.jsp?CUSTOMER_ID="+customerid+"&DISPLAY_NAME="+java.net.URLEncoder.encode(rs.getString("DISPLAY_NAME").trim())+"');>查询</a> &nbsp;  </td>");javascript脚本:
<script language="JavaScript">
<!--
function openWindow(url) {
  window.open (url,'newwindow', 'height=660, width=660, top=0, left=0, toolbar=no, menubar=no, scrollbars=yes,resizable=no,location=no, status=no') ;
  alert(url);
}
-->
</script>接收页代码:
String CUSTOMER_ID=request.getParameter("CUSTOMER_ID");
String DISPLAY_NAME=new String(java.net.URLDecoder.decode(request.getParameter("DISPLAY_NAME")).getBytes("ISO8859-1"),"gb2312");

即:上面的javascript中加入alert(url)查看时DISPLAY_NAME的值是出现乱码。

解决方案 »

  1.   

    你应该用javascript提供的encode方法来编码url,一时忘记叫什么名了。
      

  2.   

    用escape(字符串)编码后,加入url中。
    然后在新页面中用unescape(字符串)解码。
      

  3.   

    怎么把javascrpit的返回值赋值给java代码的变量呀
      

  4.   

    怎么在java代码里通过变量传递给javascrpit脚本的函数,
    然后通过javascrpit脚本的函数返回值赋值给java代码的变量。
      

  5.   

    怎么在java代码里通过变量传递给javascrpit脚本的函数,然后通过javascrpit脚本的函数返回值赋值给java代码的变量。
      

  6.   

    编个bean,用javac -encoding ISO8859_1封装起来,我以前就是这样解决的
      

  7.   

    <%! String tran(String str)
    {
       String result=null;
       byte temp [];
       try{
           temp=str.getBytes("ISO-8859-1");
           result= new String(temp);
       }
       catch(UnsupportedEncodingException e)
       {
           System.out.println(e);
       }
       return result;
    }
    %>试下.
      

  8.   

    你只需要在表单传送数据处理的页面加入
    <% 
    request.setCharacterEncoding("gb2312"); 
    %>
    就可以了!基本上能解决数据的乱码问题!特别是对于数据库的写入操作!