A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 樊占江 中级黑马   /  2012-8-14 00:24  /  1729 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.sql.*;
public class MysqlTest {
private String fields=null;
private ResultSet rs;
private Connection conn;
private Statement sm;
private String dataBase="discuz";
private String userName="root";
private String passWord="123321";
private String url="jdbc:mysql://localhost/"+dataBase+"?user="+userName+"&password="+passWord;
public String getDataBase(){return dataBase;}
public void setDataBase(String v){dataBase=v;}
public String getUserName(){return userName;}
public void setUserName(String v){userName=v;}
public String getPassword(){return passWord;}
public void setPassword(String v){passWord=v;}
public MysqlTest(){
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
conn=DriverManager.getConnection(url);
sm=conn.createStatement();
}catch(Exception e){
System.err.println(e);
}
}
public MysqlTest(String db){
this();
setDataBase(db);
}
public void query(String sql){
try{
rs=sm.executeQuery(sql);
}catch(Exception e){
System.err.println(e);
}
}
public String getFields(String f) {
if(rs==null)System.err.println("None Resultset,program exit.");
try{
fields=rs.getString(f);
return fields;
}catch(Exception e){
System.err.println(e);
}
return null;
}
public static void main(String args[]){
MysqlTest mt=new MysqlTest();
mt.query("select * from cdb_threads where author='inyoung'");
System.out.println(new String(mt.getFields("subject").getBytes("ISO-8859-1")));
}
}
我的MYSQL配置如下:
MYSQL4.1  
Mysql-connector/j 3.0
采用默认的字符集LATIN1(ISO-8859-1)

1 个回复

倒序浏览
你的数据库有问题吧,
这里怎么看的详细啊,
也许是字符编码上,
最后可以这样试试。
try {
                System.out.println(new String(mt.getFields("subject").getBytes("gb2312")));
        } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
        }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马