Ich benutze Sequelize als ORM für node.js mit mysql-Datenbank zu interagieren.Fehler beim Versuch, Emoji zu speichern
Meine Datenbank charset ist utf8mb4, utf8mb4_general_ci
Mein Tisch charset ist utf8mb4, utf8mb4_general_ci
Meine Spalte TYPE TEXT und charset ist utf8mb4, utf8mb4_general_ci
Vor der Abfrage ausgeführt wird, ich bin folgenden Code ausführen:
Sequelize.query("SET NAMES utf8mb4");
Sequelize.query("SET CHARACTER SET utf8mb4");
Nach dem Ausführen von Sequelize.query ("SHOW VARIABLES LIKE 'character_set_%'"), i Hab bekam:
[ [ RowDataPacket { Variable_name: 'character_set_client', Value: 'utf8mb4' },
RowDataPacket { Variable_name: 'character_set_connection', Value: 'utf8mb4' },
RowDataPacket { Variable_name: 'character_set_database', Value: 'utf8mb4' },
RowDataPacket { Variable_name: 'character_set_filesystem', Value: 'binary' },
RowDataPacket { Variable_name: 'character_set_results', Value: 'utf8mb4' },
RowDataPacket { Variable_name: 'character_set_server', Value: 'utf8' },
RowDataPacket { Variable_name: 'character_set_system', Value: 'utf8' },
RowDataPacket {
Variable_name: 'character_sets_dir',
Value: 'c:\\openserver\\modules\\database\\MySQL-5.7-x64\\share\\charsets\\' } ],
[ RowDataPacket { Variable_name: 'character_set_client', Value: 'utf8mb4' },
RowDataPacket { Variable_name: 'character_set_connection', Value: 'utf8mb4' },
RowDataPacket { Variable_name: 'character_set_database', Value: 'utf8mb4' },
RowDataPacket { Variable_name: 'character_set_filesystem', Value: 'binary' },
RowDataPacket { Variable_name: 'character_set_results', Value: 'utf8mb4' },
RowDataPacket { Variable_name: 'character_set_server', Value: 'utf8' },
RowDataPacket { Variable_name: 'character_set_system', Value: 'utf8' },
RowDataPacket {
Variable_name: 'character_sets_dir',
Value: 'c:\\openserver\\modules\\database\\MySQL-5.7-x64\\share\\charsets\\' } ] ]
Aber wenn ich versuche, Zeichenfolge zu speichern, dass emoji enthält, ich lief in einen Fehler:
Unhandled rejection SequelizeDatabaseError: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xF0\x9F\x91\x8D\xF0\x9F...' for column 'content' at row 1
Bitte geben Sie SHOW TABLE' CREATE –