Sequelize MariaDB - 插入表情符号
问题描述:
我正在开发一个电报机器人。除了unicode字符(表情符号),一切都可以。我的意思是,当我在桌子上插入东西时,如果有任何表情符号,它总会显示问号。 (我认为桌子不识别角色)。 Sequelize MariaDB - 插入表情符号
我做了对数据库和表的一些变化,我转换了一些配置utf8mb4的,这里的reference link
这里的表设置
我做了修复和优化表。
这里是我的sequelize模型
我需要这个,因为当我从数据库中检索数据时,它会显示表情符号时,我把它传递到房间聊天(不是问号东西)
谢谢你们! 任何帮助将不胜感激
编辑
我添加的选项2线对sequelize.js,仍然没有发生
答
当您连接到数据库,添加charset
选项。
var sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql', //maybe modify this to mariadb
dialectOptions: {
charset: 'utf8mb4'
},
});
答
,你还可以在表定义添加字符集,以使该表中的表情符号的支持,同时定义表中添加字符集这样
sequelize.define('roomDetails',{firstName: sequelize.STRING},{charset: 'utf8mb4'})
答
我找到解决的办法是把以下在我的用户模型的第一行:
// make sure db/client/connection can support emoji
sequelize.query("SET NAMES utf8mb4;");
// confirm settings
sequelize.query("SHOW VARIABLES LIKE 'character_set_%'").then(function(data) {
console.log(data);
});
在哪里修改它的家伙? – Webster
@Webster我刚刚编辑了我的答案。你应该找到你的数据库连接并修改它。 – solarhell
@solarshell,看到我上面编辑的帖子,我添加了那些行,仍然没有工作 – Webster