之前设计mysql数据库的时候,所有的字符集都是设置的utf-8,后来发现存储iPhone自带的表情的时候会失败,所以想改为utf-8mb4的,又不想一个字段一个字段得改,找了以下资料:
修改表的默认字符集:
ALTER TABLE table_name DEFAULT CHARACTER SET character_name;
修改表字段的默认字符集:
ALTER TABLE table_name CHANGE field field field_type CHARACTER SET character_name [other_attribute]
修改表的默认字符集和所有列的字符集:
ALTER TABLE table_name CONVERT TO CHARACTER SET character_name
注意:my.cnf中必须加上character-set-server=utf8mb4属性,才可以正常使用,只改数据库、表和字段的字符集不行。