MySQL的中文显示问题解决方案(包括Java接口)

时间:2021-07-21 22:51:47

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,不知为何??