rails 项目中
MySQL utf8编码只能存放3字节的字符,但是emoji表情虽然是utf8编码,每个字符需要占用4个字节,可以设置编码为utf8mb4,这个字符集是utf8的超集
对于rails项目 在database.yml 按照下面这样设置就可以了
default: &default
adapter: mysql2
encoding: utf8mb4
collation: utf8mb4_general_ci
host: localhost
port: 3306
username: root
password: '123456'
使用mysql语句修改
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATR = utf8mb4_unicode_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE table_name CHANGE column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;