MySQL数据库编码不一致导致的中文乱码

1.检查数据库编码与表的编码是否一致,发现数据库编码utf8,校对规则为utf8_unicode_ci,而表的编码为latin1,校对规则为Latin1_general_ci,

修改表的编码和校对规则,使其与数据库一致,这个可以在更改表里面的高级属性部分修改,重启数据库后,再次插入中文数据,还是出现问号;

2、导出表结构,从sql语句中发现字段编码依然是latin1,

修改字段编码,执行以下sql语句如下:

ALTER TABLE `user` CHANGE `username` `username` VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL;
ALTER TABLE `user` CHANGE `password` `password` VARCHAR(20) COLLATE utf8_unicode_ci DEFAULT NULL;

最后重启数据库,中文数据插入数据库,问题解决。

你可能感兴趣的:(MySQL数据库编码不一致导致的中文乱码)