while(rs.next()){
{
a=rs.getstring(1);
}
更改成
while(rs.next())
{
a=rs.getstring(1);
}
可能你在a=rs.getstring(1);之后又做了什么后来的操作导致的,多帖些代码。

解决方案 »

  1.   

    string a=null;
    while(rs.next()){
    {
    ///////试试:应该是一样的
      a=rs.getString("名字");
    }
      

  2.   

    他的
    while(rs.next()){
    {
    a=rs.getstring(1);
    }
    多了一个“{”
    也就是说他可能在while语句中还有什么操作呢?
      

  3.   

    最好在创建JDBC url的时候加上useUnicode=true(这是用在mysql下的,我想其他的数据库应该也有吧)之类的东西。
      

  4.   

    mysql是不用这样 name = new String(name.getBytes("iso-8859-1"),"gb2312");字符转换都可以正常显示中文的啊如果数据集用尽,那么你可以再new一个对象啊
      

  5.   

    这样试试:
    Connection con = myconn.getConnection();
        Statement stmt = con.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_UPDATABLE);
    String sql = "select name from oraclebbs";
    sql = new String(sql.getBytes("GB2312"),"iso8859-1");
    ResultSet rs = stmt.executeQuery(sql);
    if(rs.next()){
        String name = rs.getString("name");
    }
      

  6.   

    乱码主要与你得运行平台有关,linux下用的是iso-8859-1字符集,你多试几种字符集试试