我从mysql select 数据显示到表中也不乱码,但JTable里的单元格的数据update到数据库时,中文变???了...我更新代码:
try{
sql = new String(sql.getBytes(),"utf-8");
}catch(Exception ex)
{
}
//dataOption.exec("set names utf8");
//System.out.println(sql);
dataOption.exec(sql);

解决方案 »

  1.   

    可能是你数据库表的编码设置的问题,看看是否都统一设置为UTF8编码了,表的默认编码和对应字段的编码都需要设置为UTF8,还有JDBC连接的 编码类型也设置为UTF8
      

  2.   

    估计是mysql的编码未设置,可以查看一下
    show  variables like '%charset%'
      

  3.   

    回一楼:JDBC也要设置utf8编码?我读中文可以正常的说
    回二楼:show variables like '%character_set%' 结果是
    character_set_client:utf8
    character_set_connection:utf8
    character_set_database:latin1:latin1
    character_set_filesystem:binary
    character_set_results:utf8
    character_set_server:latin1
    character_set_system:utf8
    character_sets_dir:D:\Program Files\wamp\bin\mysql\mysql5.1.33\share\charsets\
      

  4.   

    解决了,原来连接字符指定下编码就行了:jdbc:mysql://localhost:3306/shop?user=root&password=&characterEncoding=utf-8
      

  5.   


    这就是我说的JDBC的连接 需要制定编码