先贴一段异常代码
SequelizeDatabaseError: Incorrect string value: '\xE8\x8C\x83\xE5\xBE\xB7...' for column 'content' at row 1
1|react-blog | at Query.formatError (/home/admin/blog/study-notes/server/node_modules/sequelize/lib/dialects/mysql/query.js:247:16)
1|react-blog | at Query.handler [as onResult] (/home/admin/blog/study-notes/server/node_modules/sequelize/lib/dialects/mysql/query.js:68:23)
1|react-blog | at Query.execute (/home/admin/blog/study-notes/server/node_modules/mysql2/lib/commands/command.js:30:14)
1|react-blog | at Connection.handlePacket (/home/admin/blog/study-notes/server/node_modules/mysql2/lib/connection.js:455:32)
1|react-blog | at PacketParser.onPacket (/home/admin/blog/study-notes/server/node_modules/mysql2/lib/connection.js:73:18)
1|react-blog | at PacketParser.executeStart (/home/admin/blog/study-notes/server/node_modules/mysql2/lib/packet_parser.js:75:16)
1|react-blog | at Socket.<anonymous> (/home/admin/blog/study-notes/server/node_modules/mysql2/lib/connection.js:80:31)
1|react-blog | at Socket.emit (events.js:198:13)
1|react-blog | at addChunk (_stream_readable.js:288:12)
1|react-blog | at readableAddChunk (_stream_readable.js:269:11)
1|react-blog | at Socket.Readable.push (_stream_readable.js:224:10)
1|react-blog | at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
在执行插入数据库时,如果插入中文就会报如上错误,在网上搜了下,是因为charset设置的问题
这里我先执行了show create table article;
查看我当前的数据, 其中CHARSET为lantin1
CREATE TABLE `article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET= latin1
修改CHARSET类型,alter table mytable convert to character set utf8mb4 collate utf8mb4_bin;
再次执行sql时,就完美解决了。