之前在开发的时候遇到 utf-8 编码无法存储 Emoji 表情,后面经过研究之后需要用到 utf-8mb4 编码,这里网上很多教程说是要把 数据库、表、字段三个都设置为 utf-8mb4 编码,甚至有的教程需要修改 mysql.conf 配置文件,还需要重启 MySQL。
存在的问题
生产环境重启 MySQL 可不是一件小事,而且修改数据库编码影响很大,所以不建议修改数据库,mysql.conf 也是能不动就不动。
后面经过研究之后发现只需要设置字段为 utf-8mb4 编码即可
注意排序规则也要对应的 utf-8mb4 规则。
数据库连接方面则不需要任何变动,数据库连接会自动识别 utf-8 和 utf-8mb4,连接地址使用以前的 utf-8 连接地址即可。