public  String tGB(String str){
try{
String temp_p=str;
byte[] temp_t=temp_p.getBytes("ISO8859_1");
String temp=new String(temp_t,"GBK");
return temp;
}
catch (Exception e){
return null;
}
}用这个试试看

解决方案 »

  1.   

    在所有的jsp中加入
    <%
    request.setCharacterEncoding("GB2312");
    %>
    试一下
      

  2.   

    public static String trans( String source ){
          try{
            return new String( source.getBytes("ISO8859_1"), "GB2312" );
          }
          catch( Exception ex ){
            System.out.println("Utility::transToGB2312() Exception");
            ex.printStackTrace();
            return null;
          }
      }
      

  3.   

    楼上的几位兄台说的是处理JSP中的乱码,但是对于打开数据库时的乱码用上面这种方法是不行的,我想楼主可能遇到了驱动的问题了。因为如果驱动是JDBC 2.0的就应不会出现这种情况了
      

  4.   

    同意: lbzlincoln(腊八粥)、proZeus(proZeus)
      

  5.   

    字符集的问题。下面是Mysql的
    jdbc:mysql://localhost:3306/database?user=root&password=&useUnicode=true&characterEncoding=gb2312
    你对着上面填试试
      

  6.   

    从两个方面考虑:
    1.数据库本身的字符集:可以在注册表里面看看是否是Simplified Chinese
    2.JSP的字符集:在page指令里面指定
      

  7.   

    创建一个Filter类进行字符串过滤
    Filter 在Java.Servlet包中
    public class Filter implements javax.servlet.Filter {
    public void doFilter(ServletRequest arg0, ServletResponse arg1,
    FilterChain arg2) throws IOException, ServletException {
    arg0.setCharacterEncoding("GBK");
    arg1.setCharacterEncoding("GBK");
    arg2.doFilter(arg0, arg1);
    }
    }
    然后在web.xml配置文件中添加配置信息
    <filter>
        <filter-name>Filter</filter-name>
        <filter-class>包名.Filter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>Filter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>