最近在使用运维平台过程中,发现提交的sql语句里含有表情时,入库时数据会丢失一部分,比如原语句为"update a set c='aaa emoji表情\n\n的哦~emoji表情\n\n'",入库后就变成了"update a set c='aaa emoji表情"。后来使用utf8mb4字符集解决了此问题。django使用utf8mb4字符集,进行以下配置:
数据库配置如下:
[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
2.django配置
DATABASES = { 'default': { ... 'OPTIONS': {'charset':'utf8mb4'}, }, }