这个问题有时与JDBC驱动有关,有时与你的页面格式编码有关!请将编码格式改为GBK或UTF8试试!

解决方案 »

  1.   

    将你的jsp的获得语言类型改成gb2312
    应该就没问题了
      

  2.   

    用这种方法获取参数试试
    String val=new String(request.getParameter("val").getBytes("ISO-8859-1"));
      

  3.   

    我记得在哪里看到过的JSP页面上改3个地方就可以了
    没人知道吗?
      

  4.   

    <%@ page language="java" contentType="text/html; charset=GBK"
        pageEncoding="GBK"%>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
    呵呵,凑足了三个地方,其他的地方我就不知道了。
    还需要指定服务器的编码格式为GBK。如tomcat默认是iso8859-1,而内存是用unicode,这两种编码格式是不兼容的。如果是提交post方式的请求,可以用过滤器。
      

  5.   

    服务器的编码格式怎么改?把3个地方改成GBK好象还是乱玛
      

  6.   

    楼主应该写个函数把字符集转一下
    用下面的函数转就可以了
    <%! String trans(String chi)
    {
    String result = null;
    byte temp[];
    try
    {
    temp =chi.getBytes("iso-8859-1");
    result = new String(temp);
    }
    catch(UnsupportedEncodingException e){
    System.out.println(e.toString());
    }
    return result;
    }
    %>
    <%
    Out.println(trans(要输出的字符串));
    %>
      

  7.   

    weblogic该编码格式在startWebLogic.cmd文件加-Dfile.encoding=GBK
    tomcat该编码格式在server.xml里<Connector port="8080" ...... URIEncoding="GBK"/>
      

  8.   

    把jsp的页面的格式改为"gb2312",然后从数据库里读数据出来的时候,对于中文,可以这样转码
    String str=new String(str.getBytes("iso-8859-1"),"gb2312");就行了,或者使用过滤器....
      

  9.   

    楼主直接将上面函数写到相应的java类中  
    用函数进行转就可以了啊
      

  10.   

    在tomcattomcat该编码格式在server.xml里<Connector port="8080" ...... />加上useBodyEncodingForURI="true"和 URIEncoding="GBK"字符串,不管你用什么方式提交都可以,如果你用<Connector port="8080" ...... URIEncoding="GBK"/>,get方式提交就会出现乱码,如果是post方式提交都不要也没有关系.(前提是你的每.jsp页面的编码都必须是"GBK")
      

  11.   

    可能不是你数据库问题,楼主有没有以GB2312的编码格式输入数据库,
    SQL默认是简体中文。
      

  12.   

    随便说两句,几个中文显示要点:1、显示页面要用GBK编码方式或者gb2312编码方式
    如:<%@ page contentType="text/html; charset=GB2312" language="java"%>
    或:<%@ page contentType="text/html; charset=GBK" language="java"%>2、数据库读取中文数据后用个方法进行转换,如下:
    public class ToChinese {
        public static String toChinese(String strvalue) {
            try {
                if (strvalue == null) {
                    return null;
                } else {
                    strvalue = new String(strvalue.getBytes("ISO8859_1"), "GB2312");
                    return strvalue;
                }
            } catch (Exception e) {
                return null;
            }
        }
    }