背景
新项目gin+gorm后端接口接收数据(包含emoji表情符号)后存入mysql 乱码
乱码问题一般是下面几个方面造成的,我们依次检查
数据库服务器编码
检查 /etc/my.cnf 配置
[client] default-character-set=utf8mb4 [mysqld] character-set-server=utf8mb4 collation-server = utf8mb4_unicode_ci [mysql] default-character-set=utf8mb4 #重启mysqlsystemctl restart mysqld
云数据库,检查云上配置即可
数据库、表、字段 编码
ALTER DATABASE db123 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ALTER TABLE user DEFAULT CHARACTER SET utf8mb4 collate utf8mb4_bin; ALTER TABLE db123.user CHANGE COLUMN nickname nickname VARCHAR(250) CHARACTER SET 'utf8mb4' NULL DEFAULT NULL COMMENT '昵称' ;
数据库连接编码
gorm连接支持utf8mb4
?parseTime=True&loc=Local&charset=utf8mb4&collation=utf8mb4_unicode_ci
《本文》有 0 条评论