나는 node.js의 ORM으로 sequelize를 사용하여 mysql 데이터베이스와 상호 작용합니다.이모티콘을 저장할 때 오류가 발생했습니다.
내 데이터베이스 문자 집합입니다 utf8mb4, utf8mb4_general_ci
utf8mb4, utf8mb4_general_ci
내 열 TYPE 텍스트와 캐릭터 세트가 utf8mb4, utf8mb4_general_ci
어떤 쿼리를 실행하기 전에이다, 나는 다음과 같은 코드를 실행하고있어 내 테이블의 캐릭터 세트는 다음과 같습니다
을Sequelize.query("SET NAMES utf8mb4");
Sequelize.query("SET CHARACTER SET utf8mb4");
Sequelize.query ("SHOW VARIABLES LIKE 'character_set_ %'")를 실행 한 후
[ [ 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\\' } ] ]
을하지만 이모티콘이 포함 된 해당 문자열을 저장하기 위해 노력하고있어 때, 나는 오류로 실행 : 도착했습니다 '
Unhandled rejection SequelizeDatabaseError: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xF0\x9F\x91\x8D\xF0\x9F...' for column 'content' at row 1
SHOW가 TABLE' –