nodejs项目mysql支持存储emoji

1.修改数据库编码为utf8mb4,前提是你的mysql数据库版本必须得是5.5.3及以后的。

2.将带emoji的文本转为base64来进行存储,返回时进行相应解码返回(实诚的方法)。

下面介绍我如何使用第一种方法:

将数据库编码由utf8改为utf8mb4:

set character_set_client = utf8mb4;

set character_set_connection  = utf8mb4;   

set character_set_database    = utf8mb4;

set character_set_results    = utf8mb4;

set character_set_server      = utf8mb4;

将已经生成的表也转成utf8mb4:

alter table userinfo convert to character set utf8mb4 collate utf8mb4_bin;

查看数据库字符集属性:

show variables like 'character_set_%';


nodejs项目mysql支持存储emoji_第1张图片

mysql连接配置:

MYSQL: {

        port: "3306",

        database: "luckDev",

        supportBigNumbers: true,

        multipleStatements: true,

        acquireTimeout:100000,

        timezone: 'utc',

        charset: "utf8mb4",//要设置这个属性

    }


参考:nodejs项目mysql使用sequelize支持存储emoji | f.君

你可能感兴趣的:(nodejs项目mysql支持存储emoji)