MySQL 的 utf8 是 UTF-8 的残缺实现,最多只存 3 字节,而 Emoji 是 4 字节——只要表级没改成 utf8mb4,写入就会报 Incorrect string value。我从