<%
 String xibu=request.getParameter("xibu"); //上一页面传递过来的数据。
 String banji=request.getParameter("banji"); 
 %>
 <input type="text" value="<%=xibu %>">
 <input type="text" value="<%=banji %>">
<%
int id=Integer.parseInt(request.getParameter("id")); 
if(id==1){ response.sendRedirect("qiChuPg.action?banji="+banji+"&xibu="+xibu);}//传递xibu时,接收页得到的是乱码??怎么解决?
if(id==2){ response.sendRedirect("qiZhongPg.action?banji="+banji+"&xibu="+xibu);} 
if(id==3){ response.sendRedirect("qiMoPg.action?banji="+banji+"&xibu="+xibu);}
%>

解决方案 »

  1.   

    URL传参尽量别传中文
    你去搜下中文在地址栏看被以什么方式转码了 忘记了···
      

  2.   

    随便搜个base64转码的类。
    对于中文的字符也别管什么编码问题了,在传递参数前, 进行下转码,然后在接受端,然后在转回来。
      

  3.   

    如果嫌弃麻烦就通过java.net.URLEncoder.encode进行转码
      

  4.   

    java.net.URLEncoder.encode这个具体怎么用,能不用说得详细些?谢了
      

  5.   

    if(id==1){ response.sendRedirect("qiChuPg.action?banji="+URLEncoder.encode(banji.trim(),"utf-8")+"&xibu="+URLEncoder.encode(xibu.trim(),"utf-8"));}
    这是编码,
    先看看这样行不行,如果不行的话,在获得之前在转一下码!
      

  6.   

    用Tomcat?
    修改Tomcat的server.xml中关于Connector的元素,如下
    < Connector port="8080"  
    disableUploadTimeout="true" URIEncoding="UTF-8"/ >这样就可以在URL中传中文了
      

  7.   

    楼上的,我用的是tomcat,就是按你的方法做的一开始,但是还是不成
      

  8.   

    写个CharacterEncodingFilter类,对每一次请求进行转码转码 转码参数utf-8
      

  9.   

    页面中加了
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    到head中么?
      

  10.   

    加了,也不管用
    已经解决了,用了最笨的方法,xibu.getBytes("iso8859-1"), "utf-8"
    来回转换一下就成了。查了一下中文在传递过程中的原理才想到这个方法。谢谢大家,结题给分了!!呵