终于搞好了jsp+JavaBean+mysql4.0 但是显示中文乱码
dbconn.java
package angelj2ee;import java.sql.*;
public class dbconn {
 public dbconn() {
   }
 //declare variable
 private Connection conn = null;
 ResultSet rs = null;
 private String server = "192.168.1.94";
 private String port = "3306";
 private String db = "testPoolMan";
 private String user = "root";
 private String pass = "";
 private String drivername="com.mysql.jdbc.Driver";
 private String GBK="GBK";
private String URL="jdbc:mysql://"+server+":"+port+"/"+db+"?user="+user+"&password="+pass;
  public Connection getConn(){//get database connection
  try{
   Class.forName(drivername).newInstance();
   conn = DriverManager.getConnection(URL);
  }
  catch(Exception e){
   e.printStackTrace();
  }
   return this.conn ;
 }
public void setServer(String str) {//set server name
  server=str;
 }
 public void setPort(String str) {//set server port
  port = str;
 }
 public void setDB(String str) {//set db name
  db = str;
 }
public void setUser(String str) {//set user name
  user = str;
 }
public void setPass(String str) {//set user name
  pass = str;
 }
public ResultSet executeSQL(String str) {
  try{
   Statement stmt = conn.createStatement();
   rs = stmt.executeQuery(str);
  }
  catch(Exception e){
   e.printStackTrace();
  }
   return this.rs;
 }
}xindex.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<title>
newMySql
</title>
</head>
<jsp:useBean id="NinGoo" scope="session" class="angelj2ee.dbconn" />
<jsp:setProperty name="NinGoo" property="*" />
<body bgcolor="#ffffff">
<h1>
新连接mysql数据库
</h1>
<%ResultSet rs = null;
Connection conn = null;
NinGoo.setServer("192.168.1.94");  //设置MySQL的服务器名或者IP
NinGoo.setPort("3306");            //设置MySQL的监听端口
NinGoo.setDB("testPoolMan");                //设置MySQL的数据库名
NinGoo.setUser("root");             //设置连接MySQL的用户名
NinGoo.setPass("");      //设置连接MySQL的密码
conn = NinGoo.getConn() ;
rs = NinGoo.executeSQL("select * from news");
while(rs.next()) {
%>
    Row:<%=rs.getString(2)%>
    <%=new String(rs.getString("title").getBytes("iso8859-1"),"GBK")%>
    <br>
<%}%>
<%out.print("Successful!\n");%>
<%
rs.close();
conn.close();</body>
</html>

解决方案 »

  1.   

    private String URL="jdbc:mysql://"+server+":"+port+"/"+db+"?user="+user+"&password="+pass+"&useUnicode=true&characterEncoding=GBK"
    后面这段指定字符集很必要
      

  2.   

    你的mysql里面显示的中文是不是乱码呀
      

  3.   

    你的mysql里面显示的中文是不是乱码呀
      

  4.   

    谢谢各位,数据库中显示的是中文啊,我用的mysqlfront3 查看mysql数据库
      

  5.   

    <%=new String(rs.getString("title").getBytes("iso8859-1"),"GBK")%>
    与"&useUnicode=true&characterEncoding=GBK"可是冲突的哦!
      

  6.   

    好的各位朋友问题解决了 ywb1973(虎骨酒) 说的不错
      

  7.   

    创建数据库的时候,,,MYSQL不是默认GB2312或UTF8,,你可能没有把他改过来。
      

  8.   

    http://www.cnpoint.com/mvnforum上有http://www.cnpoint.com/mvnforum/mvnforum/viewthread?thread=25#37[mysqld]
    [mysqld]
    basedir=D:/mysql
    datadir=D:/mysql/data
    default-character-set=gb2312 
      

  9.   

    你的xindex.jsp网页中加入
    <% request.setCharacterEncoding("gb2312");%>放在第三行,我曾经出现过和你一样的问题,我加入这个就不是乱码了!
    你试试