a.jsp
<c:url url="/b.jsp">
  <c:param name="thid" value="汉字"/>
</c:url>
b.jsp
<c:out value="${ thid }"/> //这是乱码,请问如何把thid转为汉字?

解决方案 »

  1.   

    完全可以的!你可以用request.setCharacterEncoding("GBK")就可以了!至于这句话写在那里,就看你自己的了最好写在filter里面!
      

  2.   

    写个filter拦截所有请求
    将所有请求转码
    一般来说request.setCharacterEncoding("gb2312")就ok了
    更通用一些就设为utf8
      

  3.   

    谢谢各位,我的问题诡异的地方不是转码:而是Js.
    请看,
    a.jsp
    <script language=javascript>
    function disp(url){
            if(window.name=="fullscreen")return;
            var a ;
            if(navigator.appVersion.indexOf("SV1")!=-1){
                    a =window.open("","url","fullscreen=yes,scrollbars=yes");
            }else{
                    a =window.open("","fullscreen","fullscreen=yes");
            }
            a.location = url;
    }
    </script><c:url var="url" >
      <c:param name="hz" value="汉子"/>
    </c:url>
    <a href="javascript:disp('${url}')">test</a>  这样在b.jsp怎么转码也不行!但是<a href="#" onclick="javascript:disp('${url}')"> test2 </a> 这样b.jsp就能通过转码获得正确的汉字。我的问题好像有些不可理喻,为什么放在onclick,或者body onload 中就好用了呢?实在迷惑。
    希望各位赐教。
      

  4.   

    **.jsp?a=汉字,在js中这样传是可以的。
      

  5.   

    我问题集中在disp方法了。<a href="${url}">在b.jsp是可以获得汉子,但是<a href="javascript:disp('${url}')">就不能再b.jsp 中获得汉子。
      

  6.   

    用utf-8编码.java.net.URLEncoder.encode(你的字符串,"utf-8");
      

  7.   

    肯定是可以的啊
    要不然JSP的显示表单怎么传递啊
    呵呵