工程运行环境是tomcat5.5 +eclipse +structs 
 在页面1.jsp中,我将变量放到form中,接下来到test.java中使用这些变量,最后跳到2.jsp中。在test.java我用的是 
String input_corpname=request.getParameter("org_name"); 这个方法取得变量,但是打印的时候出现乱码, 
注: 
在1.jsp和2.jsp中看头部分如下 
<%@ page contentType="text/html; charset=GBK" 
pageEncoding="GBK"%> 还有就是我在tomcat4.1中运行同样的程序,却能够出来正确的结果,也可以显示中文的字符,换到5.5下不知道出现什么问题了 
请教大侠解决问题 
谢谢!!!

解决方案 »

  1.   

    这不是tomcat的问题而是你编译的时候用的是什么字符集
      

  2.   

    把 GBK 改成 UTF-8 试试?
      

  3.   

    把tomcat的字符集改下:<Connector 
    port="8888"               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   debug="0" connectionTimeout="20000" 
                   disableUploadTimeout="true" URIEncoding="GBK"/>
    修改端口的标签里面修改字符集编码
      

  4.   

    //将ISO编号转为GBK编号。
    static public String iso2gb(String str) { 
    if (str != null) { 
    byte[] tmpbyte=null; 
    try { 
    tmpbyte=str.getBytes("ISO8859_1");} 
    catch (UnsupportedEncodingException e) { 
    System.out.println(e.getMessage());} 
    try { 
    str=new String(tmpbyte,"GBK"); } 
    catch(UnsupportedEncodingException e) { 
    System.out.println(e.getMessage());} 

    return str; 
    }
      

  5.   

    每次用tomcat做服务器,都遇到乱码问题,不管你页面编码怎么设置 ,还是有乱码
    应该是jsp提交到tomcat的时候 ,字符变成了乱码 。
    其实很简单,只要对 所有的servlet设置过滤器就ok了 ,建议用“utf-8”比较好
    如果servlet比较少,可以不用过滤器 ,在每个servlet 的get() ,post()方法里加上 
    request.setCharacterEncoding("utf-8") 
      

  6.   

    org_name=new String(org_name.getBytes("ISO-8859-1"));加上这个看看啊!
      

  7.   

    在request.getParameter()后加一个getByte("ISO-8859-1");就可以了
      

  8.   

    <%String org_name=new String(request.getParameter("org_name").getBytes("iso-8859-1"),"gbk2312");%>
      

  9.   

    上面错了,应该是这样
    <%String org_name=new String(request.getParameter("org_name").getBytes("iso-8859-1"),"gb2312");%>