1

当插入字符串“Up to HM77 based models - Intel® Core™ i5”时,mysql 给出错误“Incorrect string value: '\xE2\x88\x92 In...' for column 'spec_1'”。

我知道这与从 MS-Office 复制的字符有关。

我从中得到了一些想法,仍然不知道为什么会这样。解决此问题的最佳方法是什么?

编辑以根据请求添加 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')
4

1 回答 1

0

将字符集更改为 UTF-8 并解决了问题。

它显示的行大小太大,因为我有很多列作为 varchar(1000)。我将这些列更改为 TEXT/BLOB 并解决了问题。

如果您遇到此问题,那么:

1) 将表的编码更改为 UTF-8 2) 如果在更改编码时显示“行大小太大”,请检查是否有很多 varchar 列。3) 将这些 varchar 列更改为 text/blob

于 2012-11-02T11:24:23.403 回答