生僻字入表会导致入表失败;[Err] 1366 - Incorrect string value: '\xF0\xA1\x98\x99' for column 'KNWLG_NM' at row 1
最近因为 出现了数据空白问题,定位结果 为生僻字‘????“ 导致入表报错,数据保存失败;所以记录一下;以后定位也多一个思路;
测试表:结构及建表语句
show create table index_learn;
CREATE TABLE `index_learn` (
`learnId` bigint(20) unsigned NOT NULL COMMENT '知识ID',
`knwledgeid` bigint(20) unsigned DEFAULT NULL COMMENT '预采编知识ID',
`KNWLG_NM` varchar(255) NOT NULL COMMENT '知识名称',
`KNWLG_ALS` varchar(255) DEFAULT NULL COMMENT '知识别名',
`KYWDS` varchar(255) DEFAULT NULL COMMENT '关键词',
PRIMARY KEY (`learnId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='ceshi'
插入数据,插入生僻字执行:
INSERT INTO index_learn VALUES('1','2',
'????','3','4');
会报错 Incorrect string value: 不正确的字符串值;
猜测的应该是 生僻字在 utf8 中找不到对应的字符集存储 报错的;