如题 jsp页面传递带中文的字符串到servlet如何处理乱码问题  是用<a>标签链接传递的多个参数 
如: <a  href="servlet_tr?curPage=curPage&curString=${sqlString.curString} "></a>这里的${sqlString.curString} 装的是一个带中文的字符串 
如何在jsp页面处理或者javascript中处理才能在servlet中得到原版的带中文的字符串 

解决方案 »

  1.   

    在servlet里 response.setENcodeing="UTF-8";
      

  2.   

    设置servlet的解析编码方式为utf-8,request.setCharacterEncoding("utf-8");
      

  3.   

    首先页面设置成UTF-8,然后再servlet中设置request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    这是因为。jsp页面设置的编码在网络传递的时候要转换成IOS8859那个默认的编码。所以在服务器端也要把编码改变回来
      

  4.   

    把request和response都设置成iso-8859-1的形式不行吗? 因为我jsp页面的unicode都是iso-8859-1
      

  5.   

    把request和response都设置成iso-8859-1的形式不行吗? 因为我jsp页面的unicode都是iso-8859-1
      

  6.   

    用session吧用完了把session清空
      

  7.   

         你可以写成js  。  如:
     <a href="servlet_tr?curPage=curPage&curString=${sqlString.curString} "></a>
    你这个 写成<a href="javascript:fh(curPage,'${sqlString.curString}');"></a>js中处理:  function fh(a,b){
                b=  encodeURIComponent(b); //把你的中文转换成十六进制字符
              window.location.href='servlet_trcurPage=a&curString=b';
          }
      

  8.   

    处理中文思路无非就三种:
    第一种:如果没有任何处理,直接传值,默认采用ISSO855-1编码,在服务端将其转换成可以支持汉字的编码。
    第二种:在传值的时候,对其设置编码,在服务端进行对应的解码即可。
    第三种:在传值时,对其加密,在服务端对其解密即可。最后一种可以和前面两种结合使用更加安全!!以上仅为个人观点,仅供参考。欢迎大家予以补充!
      

  9.   

    你可以在后台代码这样处理一下java.net.URLDecoder.decode(sqlString.getCurString.trim(),"utf-8")