request.setCharacterEncoding("GBK");
    response.setContentType("text/html;charset=GBK");

解决方案 »

  1.   

    这是因为在JSP中显示中文有一个转码问题,可以设置中文显示方式.
    设置<%@ page contentType="text/html;charset=GBK"%>
    我在JB中是用parame=new String(parame.getBytes("ISO8859_1"),"GB2312");进行显示设置的!
      

  2.   

    <%@ page contentType="text/html; charset=gb2312" %>
      

  3.   

    TOMCAT的话用parame=new String(parame.getBytes("ISO8859_1"),"GB2312");
    RESIN只要加上<%@ page contentType="text/html;charset=GBK"%>
      

  4.   

    楼上说的对tomcat存入数据库之用parame=new String(parame.getBytes("ISO8859_1"),"GB2312");Resin就简单多了只需加上:RESIN只要加上<%@ page contentType="text/html;charset=GBK"%>
      

  5.   

    我用的是weblogic,而且像new String(~.getBytes("ISO8859_1"),"GB2312")的方法都试过了,中文显示没有问题,可是"——"显示有问题。而且我也加了<%@ page contentType="text/html;charset=GBK"%>
      

  6.   

    我用的是oracle+weblogic 数据库中字段存的是“标题——”,如果直接String info_title=rs1.getString("info_title");//信息标题  那么info_title显示的是“标题??”
    如果进行了info_title=new String(info_title.getBytes("ISO8859_1"),"GB2312");转换,那么info_title显示的是“????”
    文件顶加了<%@ page contentType="text/html;charset=gb2312" %>语句。
    怎么样才能让“标题——”正确显示出来呢?上面所有的方法我都试过了,还是显示有问题,请大虾指点!
      

  7.   

    public String getChinese(String str)
      {
        String tmp = "";
        try {
          byte[] by = str.getBytes("ISO-8859-1");
          tmp = new String(by);
        }
        catch (Exception e) {    }
        return tmp;
      }
      

  8.   

    数据在写入数据库前使用str=new String(string.getBytes("ISO8859_1"));
    在把数据提出来显示在JSP上时,在页面的头上加
    <%@ page contentType="text/html;charset=gb2312" %>
    就行了。
      

  9.   

    还是不行,用了byte[] by = str.getBytes("ISO-8859-1");tmp = new String(by);后“标题——”显示成“????”了
      

  10.   

    我是把写入数据库封装在javabean中
    String tmp=new String(string.getBytes("ISO8859_1"));
    tmp写入数据库后显示正常,不会是????
    提取是页面加<%@ page contentType="text/html;charset=gb2312" %>数据显示正常。
    楼主再试试,我这里操作是正常的,你把具体的语句再贴出来看看。
      

  11.   

    <%@ page contentType="text/html;charset=gb2312" %>
    在用我的那个getChinese就行了
      

  12.   

    如果数据在写入数据库前使用str=new String(string.getBytes("ISO8859_1")),那么数据库中存的值就是乱码--> ??
    我的数据库是oracle中文数据库
      

  13.   

    oracle下就不太清楚了,我用的是MSSQL
      

  14.   

    你们说的是中文字符显示的问题,我这里中文字符显示没有问题,而是破折号“——”显示有问题,成了“??”你们可以在库中改条记录,看取出来是什么。
    to camel4057(骆驼)
     我用了你的方法,库中记录是“标题——”,如果直接取getString(字段名)不进行转换,那么取出的是“标题??”,如果用byte[] by = str.getBytes("ISO-8859-1");tmp = new String(by);方法进行转换后,那么取出的是“????”另注:我在前面已经加上<%@ page contentType="text/html;charset=gb2312" %>了。
    kengzai(芒果老公) 
      如果数据在写入数据库前使用str=new String(string.getBytes("ISO8859_1")),那么数据库中存的值就是乱码--> ?? 另注:我的数据库是oracle中文数据库