将从上一个jsp中得到参数设为中文显示:request.setCharacterEncoding("GBK");结果全是 ????但是将得到是String
new String(str.getBytes("iso-8859-1"),"GBK")
转化后结果能正常显示 这是为什么?从上一个jsp中得到的String少还好 多了那得写多少啊!!!
request.setCharacterEncoding("GBK");这句话为什么没用。

解决方案 »

  1.   

    你的jsp上方应该有个编码,你把那个编码改为统一的GBK试试。应该是第一行
      

  2.   

    jsp编码问题。
    头部换成:<%@ page language="java" pageEncoding="GBK"%><head></head>间加
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
      

  3.   

    这些全部改了我是要从上一个jsp中得到参数
    应该是request.setCharacterEncoding("GBK");
    可就是不行
      

  4.   

    request.setCharacterEncoding("GBK");仅对post方法有效!
      

  5.   

    两个jsp页面都加
    <%@ page pageEncoding="GBK"%><%@ page contentType="text/html;charset=GBK"%>
    应该就可以了,不应该出现乱码了。request.setCharacterEncoding("GBK");这一句不需要!
      

  6.   


    哦 知道了 thanks!  
      

  7.   

    我五个页面都GBK;
    我觉得传参的时候并不是以设置的gbk传的
    设置的gbk只能保证当前的页面
      

  8.   

    request.setCharacterEncoding("GBK"); 是针对form表单Method="POST"提交时起作用。new String(str.getBytes("iso-8859-1"),"GBK"); 是针对form表单Method="GET"提交时起作用。注意:对于URL提交的数据和表单中GET方式提交的数据,在接收数据的JSP中设置request.setCharacterEncoding参数是不行的,因为在Tomcat5.0中,默认情况下使用ISO- 8859-1对URL提交的数据和表单中GET方式提交的数据进行重新编码(解码),而不使用该参数对URL提交的数据和表单中GET方式提交的数据进行重新编码(解码)。要解决该问题,应该在Tomcat的配置文件的Connector标签中设置useBodyEncodingForURI或者 URIEncoding属性,其中useBodyEncodingForURI参数表示是否用request.setCharacterEncoding 参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false(Tomcat4.0中该参数默认为true); URIEncoding参数指定对所有GET方式请求(包括URL提交的数据和表单中GET方式提交的数据)进行统一的重新编码(解码)的编码。 URIEncoding和useBodyEncodingForURI区别是,URIEncoding是对所有GET方式的请求的数据进行统一的重新编码(解码),而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码(解码),不同的页面可以有不同的重新编码(解码)的编码。所以对于URL提交的数据和表单中GET方式提交的数据,可以修改 URIEncoding参数为浏览器编码或者修改useBodyEncodingForURI为true,并且在获得数据的JSP页面中 request.setCharacterEncoding参数设置成浏览器编码。特别提示:如果想在GET提交方式上,也可以采用:request.setCharacterEncoding("GBK")进行转码的话。请将tomcat->conf->server.xml 下面代码修改如下所示: <Connector port="8080" maxHttpHeaderSize="8192" useBodyEncodingForURI="true"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100" 
                   connectionTimeout="20000" disableUploadTimeout="true" />
      

  9.   


    感谢mengjunquan提供的资料!!!
      

  10.   

    提交页面设置的编码与接收方request.setcharacterencoding这里设置成一样的就没有问题
    我一直用utf-8没有问题
      

  11.   

    to 11 12 13楼直接简单的几个页面跳转而已
    而且我只是想要知道页面传参是不是按开头设置的GBK传的或者接收时会将参数转换为这一页面设置的中文
    而事实上如9楼所说。