emoji修改字符集为utf8mb4需要注意哪些问题

最近有个系统出现emoji表情乱码文题。
知道是字符集导致的,于是做了修改字符集的测试:
1.    修改表3张表varchar(1000)的大字段,拓展字段,改为varchar(100).先查询表历史数据中有没有超出长度的,之后再缩短字段长度。

table1
table2
table3


2.    修改完表结构,修改配置文件参数,重启数据库。

#################################################
[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
################################################

3.    修改所有历史数据表,字符集改成utf8mb4.先拼接处sql,之后执行。

ALTER DATABASE xxx CHARACTER SET utf8mb4

SELECT CONCAT('alter table ', table_name , ' convert to character set utf8mb4;') FROM information_schema.TABLES
WHERE table_schema='xxx'

ALTER TABLE table1 CONVERT TO CHARACTER SET utf8mb4;                                          
ALTER TABLE table2 CONVERT TO CHARACTER SET utf8mb4;                                 
ALTER TABLE table3 CONVERT TO CHARACTER SET utf8mb4;                         
ALTER TABLE table4 CONVERT TO CHARACTER SET utf8mb4;    
……

 
该业务是独立的一个实例运行的,没有其他业务库混合。
测试环境按照上述方法修改了默认字符集和历史数据字符集,乱码解除。
因为没做过线上的字符集修改,不知道这样做是否完善,有没有什么漏掉的或者不妥的地方?
已邀请:

要回复问题请先登录注册