我用微软的mssql作为服务器,但读出的数据要经过转换才能正确显示中文,否则只能显示乱码,不知道为什么,有什么办法能解决吗?
public static void main(String arg[]){
DBConnection db=new DBConnection();
ResultSet rs=null;
String sql="select  top 1 * from test";
rs=db.sql_execute(sql);
try{
while(rs.next()){


String str=rs.getString(7);
System.out.println(new String(str.getBytes("ISO8859_1"),"GBK"));//只有通过这样的转换才能正确显示中文
}
}catch(Exception ex){

}
}

解决方案 »

  1.   

    你的数据库是什么编码啊。MSSQL没用过,不太清楚,请检查你的编码
      

  2.   

    好象MySQL的必须转换吧???
      

  3.   

    一般是要经过那个转换才能显示中文吧。。我用一阵mysql一直是这样,对数据库出来的,我都用了转换才能显示啊,我一般用GB2312,
      

  4.   

    mysql有一个my.ini的配置文件,里面可以设置--default-character-set的,不知道 SQLSERVER 是怎么配置的
      

  5.   

    修改my.ini把字符集改成utf-8 重启一下  而且最好程序啦网页也用utf-8
    mySql的中文支持确实是个问题
      

  6.   

    显示乱码是因为~~编码和解码不一致就会导致这个问题的产生
    将数据库的默认编码设置为UTF或GBK的话 都能解决乱码问题
      

  7.   

    怎么这么多哥们 看成mysql
      

  8.   

    楼主说的是mssql不是mysql建议楼主以后用"sql server"这个字符串,不要用"mssql"
    容易看错了
    应该还是字符集的问题
      

  9.   

    数据库的url加入&charset=GBK
    jdbc:inetdae:127.0.0.1:1433?database=aaaa&charset=GBK&user=sa&password=,,
      

  10.   

    SQL Server中可能出现中文的字段定义为nvarchar之类的"n*"类型,中文问题就交由SQL Server自己处理了,你就从编码转换中解放出来了。