素材牛VIP会员
sequelize如何插入emoji表情?
 黑***黑  分类:Node.js  人气:1074  回帖:2  发布于6年前 收藏

问题描述

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",

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv4 码徒
阿***c 产品经理 6年前#1

直接添加sequelize配置项中utf8mb4,我这边就好了,还是感谢博主

{
       dialect: 'mysql',
       dialectOptions: {
         charset: 'utf8mb4'
      },
}
Lv5 码农
陌***3 PHP开发工程师 6年前#2

谢邀。
应该是编码问题,node.js肯定用的是utf-8编码,而emoji是unicode编码。所以会有??出现。
建议你进行编码,入库。然后用的时候解码就可以了。编码方式用base64就可以。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取