<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<%request.setCharacterEncoding("gb2312");%>
<div align="center">
<table border="1" width="100%" id="table1">
<tr>
<td>
<p align="center">学号</td>
<td>
<p align="center">姓名</td>
<td>
<p align="center">性别</td>
<td>
<p align="center">年龄</td>
<td>
<p align="center">籍贯</td>
<td>
<p align="center">院系</td>
<td>
<p align="center">修改</td>
<td>
<p align="center">删除</td>
</tr>
</table>

</div>
<%!
String url,sql;
Connection conn;
java.sql.Statement stmt;
ResultSet rs;
int i;
%>
<%
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/university?useEncoding=true&setEncoding=gb2312","root","147258");
stmt=conn.createStatement();
stmt.executeUpdate("use university");
rs=stmt.executeQuery("SELECT * FROM student;");
while(rs.next()){

rs.
%>
<div align="center">
<table border="1" width="100%" id="table1">
<tr>
<td>
<p align="center"><%=new String(((String)rs.getObject(1)).getBytes("iso-8859-1"),"gb2312")%></td>
<td>
<p align="center"><%=rs.getObject(2)%></td>
<td>
<p align="center"><%=rs.getObject(3)%></td>
<td>
<p align="center"><%=rs.getObject(4)%></td>
<td>
<p align="center"><%=rs.getObject(5)%></td>
<td>
<p align="center"><%=rs.getObject(6)%></td>
<td>
<p align="center">修改</td>
<td>
<p align="center">删除</td>
</tr>
</table>

</div>
<%
}
}catch(Exception e)
{

}

%>
<a href="insert.jsp" align="center">添加新纪录</a>这是我在JSP里调用MYSQL的源文件.MYSQL设置成gb2312,但结果还是乱码!等待达人!

解决方案 »

  1.   

    你把mysql设置成utf-8看看,我是这么做的没乱码
      

  2.   

    我在命令提示符下SELECT * FROM student;也没有问题!
    还有.我的表里已经有数据了.我也是在提示符下插入的.难道不把数据库设置成UTF-8就搞不定了?我不信!继续等待达人!
      

  3.   

    MySQL好像用的是Unicode编码,要转换编码才行,我以前也遇到过,网上有很多方法解决的。
      

  4.   

    jdbc:mysql://localhost:3306/university?useEncoding=true&setEncoding=gb2312"貌似很对啊
      

  5.   

    CREATE DATABASE yourdatabse DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 
    如果可以,重建一下数据库试试
      

  6.   

    mysql确实存在很多问题,最好也只能以楼上的这种方式解决,
      

  7.   

    用过ORACLE但是,我的机子跑起来太慢了.只能装MYSQL了.谁有SQL语句的教程啊.给个地址.
      

  8.   

    System.out.println(new String(testString.getBytes(”ISO-8859-1″),”gb2312″));
    System.out.println(new String(testString.getBytes(”UTF8″),”gb2312″));
    System.out.println(new String(testString.getBytes(”GB2312″),”gb2312″));
    System.out.println(new String(testString.getBytes(”GBK”),”gb2312″));
    System.out.println(new String(testString.getBytes(”BIG5″),”gb2312″));你都穷举一下是什么编码?
      

  9.   

    mysql的数据库用gb2312
    连接字符串用utf8
    我一直这样用.
      

  10.   

    把页面和数据库的编码都统一为UTF-8看看.
      

  11.   

    先检查下数据库的设置,是不是 GB2312
    然后注意下 GB2312 的大小写
    不行的话
    把全部都设置为UTF-8
    再不行的话就把 iso 转为 GB2312
    public String getStr(String s){
    String str=s;
    try{
    byte b[]=str.getBytes("ISO-8859-1");
    str=new String(b);
    return str;
    }
    catch(Exception e){return null;}
    }
      

  12.   

    a_nuo() ( ) 信誉:100    Blog   加为好友  2007-6-18 11:58:17  得分: 0  
     
     
       
    数据在输入的时候应该应该进行编码转换,输出的时候就不用转换了!
      
     
    正解,数据插入数据库的时候选好编码,取出时不用动.