当插入字符串“基于HM77的型号 - 英特尔®酷睿™i5”时,mysql会给出错误的“字符串值不正确:'\ xE2 \ x88 \ x92 In ...'列'spec_1'”。
我知道这与从MS-Office复制的字符有关。
我从this得到了一些想法,但仍然不知道为什么会这样。解决这个问题的最佳方法是什么?
根据要求编辑添加sqlfiddle -
您可以在sqlfiddle.com中尝试以下查询以了解错误
CREATE TABLE product_content ( spec_1 varchar(1000) DEFAULT NULL ) ENGINE=InnoDB AUTO_INCREMENT=1752 DEFAULT CHARSET=latin1; insert into product_content (spec_1) values('Up to HM77 based models − Intel® Core™ i5')
答案 0 :(得分:0)
将字符集更改为UTF-8并解决了问题。
它显示的行大小太大,因为我有很多列作为varchar(1000)。我将这些列更改为TEXT / BLOB,它解决了问题。
如果您遇到此问题,请:
1)将表的编码更改为UTF-8 2)如果在更改编码时显示“行大小太大”,请检查是否有很多varchar列。 3)将这些varchar列更改为text / blob