请问如何解决?
jsp的接收页面,页面编码是utf-8,<%@ page contentType="text/html; charset=utf-8" language="java"%>
request也是request.setCharacterEncoding("UTF-8");
但是出来就是乱码,用ISO-8859-1转换一下也是乱码,请问如何解决?

解决方案 »

  1.   

    提交FORM的页面也要是UTF-8,接收数据最好用SERVLET,在doGet和doPost的第一句用 request.setCharacterEncoding("UTF-8");
      

  2.   

    你的所指的接收页面是不是显示的中文为乱码?如果是请在doget()中设置字符集request.setCharacterEncoding("GBK");
      

  3.   

    POST方法是将数据打包起来再发送的,GET方法则是将参数直接通过URL发送的,两个方式不一样,就像你走你的阳关道,我过我的独木桥。IE的缺省设置是使用UTF-8发送URL,所以缺省情况下应该使用UTF-8对URL进行解码。但是如果IE没有按照UTF-8编码URL的话,还得另外考虑,如果不是UTF-8的话,那么一般情况就是客户端操作系统的本地编码。
      

  4.   

    改 tomcat server.xml文件 让他支持 get 的 url的中文
      

  5.   

    把UTF-8改为GBK就可以了然后接收request.setCharacterEncoding("GBK");
      

  6.   

    写一个字符串换的Filter就OK了,不要显示的调用request.setCharacterEncoding去试试吧哈
      

  7.   

    <a href="jsp2.jsp?name=<%=java.net.URLEncoder.encode("汉字","utf-8")%>">jsp2</a>
    String s = request.getParameter("name");
    s = new String(s.getBytes("iso8859_1"),"utf-8");
    out.print(s);传递汉字之前先编码,接受后再转回来。其中的utf-8是推荐设置,不要换成别的。这个编码和你的页面编码无关。另外如果是post,用过滤器最好。
      

  8.   

    回复人: funcreal(为中华之崛起而编程) ( ) 信誉:100  2006-1-17 10:17:37  得分: 0  
     
     
       
    <a href="jsp2.jsp?name=<%=java.net.URLEncoder.encode("汉字","utf-8")%>">jsp2</a>
    String s = request.getParameter("name");
    s = new String(s.getBytes("iso8859_1"),"utf-8");
    out.print(s);传递汉字之前先编码,接受后再转回来。其中的utf-8是推荐设置,不要换成别的。这个编码和你的页面编码无关。另外如果是post,用过滤器最好。===================================================
    想不通啊,我用两个页面分别输入上面两段,可以显示汉字.
    但是我在两个页面前面加上
    <%@ page contentType="text/html; charset=utf-8" language="java" %>
    不管在哪个加,或者是两个一起加,都会乱码,而且乱码还不一样.
    为什么啊?  
     
      

  9.   

    而且在我刚才的试验中request.setCharacterEncoding("UTF-8");好像根本没用.
      

  10.   

    首先,这是 Tomcat 的错,不是你的错。我们大家在这里想办法,只是在弥补这个错。详情,请参考文章:
    http://www.regexlab.com/zh/encoding.htm#getp解决办法:
    提交数据的页面也要求是 utf-8 编码,如果你是 tomcat 4, 那么,你既可以用 GET 方式也可以用 POST 方式。如果你是 tomcat 5,那么 tomcat 5 有bug,你只能是 POST 方式。
      

  11.   

    如果你的Post能传递中文的话 
    就用下面的方法
    1) 打开tomcat的server.xml文件,找到区块,加入如下一行:URIEncoding=”GBK”完整的应如下:<Connector port="80"  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   debug="0" connectionTimeout="20000"
                   disableUploadTimeout="true"
                   URIEncoding="GBK"/>2)重启tomcat,
      

  12.   

    怎么没有linux下的乱码解决的方法呀?
      

  13.   

    我也有乱码
    不过,为了符合国际化
    我全部采用了<BEAN:MESSAGE>的方式
    从资源文件里面读现在全部正常无论要改成那个语种只需要更改资源文件中KEY对应的值就行了
      

  14.   

    http://www.nk975.com/sswater/myref/index.asp?id=17
      

  15.   


    将应用服务器的配置文件字符集改成GBK或设置一个过滤器filterSetCharacterEncodingFilter