我的程序连接的数据库是mysql,连接部分代码如下:
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/extrademo?useUnicode=true&characterEncoding=GBK", "root", "");
查询表的代码如下:
select col2 from table
conn = MySqlConnection.getConnection();
ps = conn.prepareStatement(sqlStr);
rs = ps.executeQuery();
我把rs里的数据在后台打出来了,可全是乱码,谁能指点一下,谢谢!

解决方案 »

  1.   

    99%的数据库缺省编码都是iso8859-1,取数据要改成gbk才行
    记得oracle是可以改编码格式的,mysql不太熟悉
      

  2.   

    有个办法,你在数据库操作insert的时候,就把内容的编码转为GBK存入数据库,
    拿出来的时候就不用转了,
      

  3.   

    在mysql.ini中的
    default-character-set=utf8
    这样就什么语言都支持了
    链接使用utf-8 然后在java中重新encode字符串
      

  4.   

    肯定是插入时没有进行字符的转换,在你的插入页面加字符转换的语句:
    <% request.setCharacterEncoding("gb2312"); %>