request.setCharacterEncoding("GB2312");
的作用是在上一个页面传输进来的内容,以GB2312方式进行编码后在传输吗?
但是我以request.getParameter();取出来的是乱码?我以getByets("ISO-8859-1")处理后就能正常显示

解决方案 »

  1.   

    在tomcat的conf目录下的server.xml可以设置url参数的编码格式,
    a,如果从地址栏直接输入汉字,则一般编码为"GBK",需要用 
    new String(request.getParameter("something").getBytes("ISO-8859-1"),"GBK") 
    取出 
    b,如果是页面超连接连接中带的汉字,则编码根据页面编码的不同而不同,如果页面的 
    content="text/html; charset=utf-8",则在tomcat/conf/server.xml中的配置文件中: 
    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> 
    <Connector port="8080" 
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
    enableLookups="false" redirectPort="8443" acceptCount="100" 
    debug="0" connectionTimeout="20000" useBodyEncodingForURI="true" 
    disableUploadTimeout="true" /> 
      

  2.   

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK" />
    加红色的代码,问题解决。
      

  3.   

    content="text/html; charset=utf-8",则在tomcat/conf/server.xml中的配置文件中: 
    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> 
    <Connector port="8080" 
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
    enableLookups="false" redirectPort="8443" acceptCount="100" 
    debug="0" connectionTimeout="20000" useBodyEncodingForURI="true" 
    disableUploadTimeout="true" URIEcoding="gbk"/>红色的位置添加就行了
      

  4.   

    默认的应该是iso-8859-1 这种编码方式。
    你看下你的tomcat的 文件里边 编码方式是多少啊、