mysql 中需要存储中文, 以前的数据库编码是 latin1 , 现在需要存储中文, 就在最近一次的系统升级时把数据库的默认编码改成了 utf8.

表结构是使用阿里云的 DTS 直接迁移过来的. 今早发现还是存储不了中文, 经过查看, 数据表的编码还是 latin1, 修改了表的编码后, 还是存不进去. 才意识到字段的编码可能还是 latin1.

使用

show create table tablename ;

查看到确实如猜想一般. 然后使用下面的语句修改. (注意: 使用 desc tablename 不能看到编码.)

alter table tablename change columnname columnname VARCHAR (215) CHARACTER set utf8 default "";

搞定.