catch(UnsupportedEncodingException e)
换成:
catch(java.io.UnsupportedEncodingException e)试试看

解决方案 »

  1.   

    我将
    catch(UnsupportedEncodingException e)
    换成:
    catch(java.io.UnsupportedEncodingException e)
    但是,可以显示了,不过中文部分显示的还是????
      

  2.   

    帮你修改了一下,拿去试一下:
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head><body>
    以下是从Ms sql server数据库读取的数据:<hr>
    <table border=1><%! String trans(String chi)
    {
                   String result = null;
                   byte temp [];
                   try
                   {
                           temp=chi.getBytes("iso8859_1");
                          result = new String(temp);
                    }
                    catch(java.io.UnsupportedEncodingException e)
                    {
                            System.out.println (e.toString());
                    }
    return result;
    }
    %>
    <%   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
       Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jck;charset=gb2312","sa","123");
       Statement stmt=con.createStatement();
        ResultSet rst=stmt.executeQuery("select * from bbs_news;");
        while(rst.next())
        {
        out.println("<tr>");
        out.println("<td>"+trans(rst.getString("title"))+"</td>");
        out.println("<td>"+trans(rst.getString("times"))+"</td>");
        //out.println("<td>"+trans(rst.getString("bj"))+"</td>");
        //out.println("<td>"+rst.getFloat("bjrs")+"</td>");
        out.println("</tr>");
        }
        rst.close();
        stmt.close();
        con.close();
        %>    
    </table></body>
    </html>
      

  3.   

    纠正:
        while(rst.next())
        {
        out.println("<tr>");
        out.println("<td>"+trans(rst.getString("title"))+"</td>");
        out.println("<td>"+trans(rst.getString("times"))+"</td>");
        //out.println("<td>"+trans(rst.getString("bj"))+"</td>");
        //out.println("<td>"+rst.getFloat("bjrs")+"</td>");
        out.println("</tr>");
        }
    换成:
        while(rst.next())
        {
        out.println("<tr>");
        out.println("<td>"+rst.getString("title")+"</td>");
        out.println("<td>"+rst.getString("times")+"</td>");
        //out.println("<td>"+trans(rst.getString("bj"))+"</td>");
        //out.println("<td>"+rst.getFloat("bjrs")+"</td>");
        out.println("</tr>");
        }
      

  4.   

    <%@ page contentType="text/html;charset=gb2312" %>
    <%@ page language="java" errorPage="../Styles/ErrorPage.jsp" %>
      

  5.   

    关注!我用的tomcat 5.0.19,用尽一切办法,仍然是乱码,我怀疑是tomcat问题。researching!
      

  6.   

    从数据库中提取中文数据时,不必使用字符转换函数,否则,它显示的是乱码!
    trans(rst.getString("title"))象这条语句是错误的,不应该转换,去掉trans()这个方法!
    直接写成rst.getString("title")就可以了!
    你把catch(java.io.UnsupportedEncodingException e)
    改成catch(java.io.Exception e)试一试
      

  7.   

    兄台,你有没有按照我的方法试啊?
    代码如下:
    -------------------------------------------------------
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head><body>
    以下是从Ms sql server数据库读取的数据:<hr>
    <table border=1>
    <%   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
       Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jck;charset=gb2312","sa","123");
       Statement stmt=con.createStatement();
        ResultSet rst=stmt.executeQuery("select * from bbs_news;");
        while(rst.next())
        {
        out.println("<tr>");
        out.println("<td>"+rst.getString("title")+"</td>");
        out.println("<td>"+rst.getString("times")+"</td>");
        //out.println("<td>"+trans(rst.getString("bj"))+"</td>");
        //out.println("<td>"+rst.getFloat("bjrs")+"</td>");
        out.println("</tr>");
        }    rst.close();
        stmt.close();
        con.close();
        %>    
    </table></body>
    </html>