<%@ page contentType="text/htnl;charset=iso_8859_1" %>
这一条是有错误的.应该是charset=GB2312

解决方案 »

  1.   

    不好意思,急着点提交了.
    补充:
    new String(rs.getString().getBytes("iso8859_1"),"gb2312"));
    仔细对比一下.你少了个iso
      

  2.   

    先确保你寸入数据库是正确的数据!!!
    取出时是不是乱码和服务器有关
    如果是乱码,使用
     public String toChinese(String str){
        if(str==null){
        str  ="" ;
        }
        else{
            try {
           str = new String(str.getBytes("iso-8859-1"),"gb2312") ;
            }
            catch (Exception ex) {
            }
        }
        return str ;
     }
      

  3.   

    jsp文件中加一句<%@ page contentType="text/html; charset=gb2312" language="java"%>
    同时显示时所用语句应该为:out.print(new String(rs.getString("name"));
    若还出现问题,可能由下面原因造成:
    (问一句,你的name变量是提交一个form中的元素吗?还是读取数据库中的内容?)若你的文件类似:
    <%@ page contentType="text/html; charset=gb2312" language="java"%>
    <html>
    <body>
    <%
     String name="中文显示";
    %>
    <%
     out.print(name);
    %></body>
    </html>那一定可以正常显示的!
    若你是从数据库中读出某个中文字符串,那么请你先直接到数据库的该表中,看一下这个字符串在数据库中是否已经是乱码!(如果不是乱码,肯定能显示的!)若是乱码,说明你在对该表进行插入的过程中出现了错误。
    解决办法:temp1=new String(request.getParameter("txtit").getBytes("ISO8859_1"));
    (temp1是你用来插入的一个变量,txtit是你传递的某一参数变量。
    getBytes("ISO8859_1")用来正常读取中文字符)
      

  4.   

    我的IE是6.0,数据库 是SQL 2K我只是想从数据库读出内容而已,数据库的内容是我直接在表里写的,是中文,不是乱码<%@ page contentType="text/html;charset=gb2312" %>
    <%@ page session="true" %>
    <%@ page import="java.sql.*" %>
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>姓名</title>
    </head><body>
    <%
       Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" ).newInstance ( );
       String url = "jdbc:microsoft:sqlserver://8760-HUA:1433;DatabaseName = test";
       String user = "sa";
       String password = "xiaoqiang";
       Connection con = DriverManager.getConnection ( url, user, password );
       Statement stmt = con.createStatement ( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE );
       String sql = "select * from t2";
       ResultSet rs = stmt.executeQuery ( sql );
       while ( rs.next ( ) )
       {
    %>
    你的第一个字段内容为:<%=rs.getString ( 1 )%>
    你的第二个字段内容为:<%=rs.getString ( 2 )%>
    <% } %>
    <% out.print ( "数据库操作成功,恭喜你" ); %>
    <% 
       rs.close ( );
       stmt.close ( );
       con.close ( );
    %> </body></html>首先好象连接都连不上啊,