在MySQL的shell中可以添加emoji表情,但是使用sequelize就不行了。

表中带???的就是使用sequelize插入的数据,带emoji的是在shell中手动插入的。
sequelize配置:
var sequelize = new Sequelize(mysql_db, mysql_user, mysql_passwd,{
host: mysql_host,
dialect: 'mysql',
dialectOptions: {
charset: "utf8mb4",
collate: "utf8mb4_unicode_ci",
supportBigNumbers: true,
bigNumberStrings: true
},
pool: {
max: 5,
min: 0,
idle: 10000
}
});
相关模块版本:
"redis": "^2.6.2",
"sequelize": "^3.24.0",
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
谢邀。
应该是编码问题,node.js肯定用的是utf-8编码,而emoji是unicode编码。所以会有??出现。
建议你进行编码,入库。然后用的时候解码就可以了。编码方式用base64就可以。