MySQL原本的字符集是瑞典字符集:latin1 这个不支持中文,需要修改为utf8
创建的表必须是utf8字符集,但是MySQL 里面的配置可以完全不改,继续采用latin1字符集,支持中文只需要下面的必要条件:
1. 建立DataBase或者表时,指定utf8 例如:create database rhea DEFAULT CHARSET=utf8;
2. JDBC连接串指定utf8 jdbc:mysql://localhost:3306/rhea?characterEncoding=UTF-8
符合以上2个条件就OK
create table RHEA_KVM
(
ID int not null auto_increment comment 'kvmID',
NAME varchar(128) comment 'kvm名称',
OS varchar(64) comment '操作系统,对应字典表'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
比如上面这样,也不用每个表都指定,可以在创建database时指定
create database rhea ENGINE=InnoDB DEFAULT CHARSET=utf8';
这样JDBC直接操作中文没有任何问题
注意:按照上面的办法做了后,Java, MYSQLWorkBench都没有问题,但是,MySQL CMD下面就有问题,仍然看到乱码,这时执行set names gbk;一切OK,不知为何??