首页 > 解决方案 > 表情符号未使用 mysql 和 node 保存在数据库中

问题描述

我想将表情符号保存在数据库中

但插入数据库时​​出错

错误:ER_TRUNCATED_WRONG_VALUE_FOR_FIELD:不正确的字符串值:'\xF0\x9F\x98\x9B\xF0\x9F...' 用于第 1 行的列 'text'

Collasion 我用 utf8mb4_unicode_ci chatset utf8mb4 engine innodb

我也在连接文件中使用过这个

 let connection = mysql.createConnection({
        host                : _CONF.mysql.host,
        user                : _CONF.mysql.user,
        password            : _CONF.mysql.password,
        port                : _CONF.mysql.port,
        database            : _CONF.mysql.database,
        timezone            : _CONF.mysql.timezone,
        charset             : 'utf8mb4',
        collate             : 'utf8mb4_unicode_ci',
        multipleStatements  : _CONF.mysql.multipleStatements
    });

`````
I dont know what I can do next to solve my problem. It would be grateful If anyone can help me out 

标签: mysqlnode.js

解决方案


如果列的 dataType 是 blob,则将 emoji 转换为 blob 数据并将其存储为 blob。如果它是一个字符串,您可以将 blob 转换为字符串。您使用 Filereader 模块执行以下操作。

reader.readAsText(blb);

推荐阅读