2012-10-03 83 views
1

当插入字符串“基于HM77的模型 - 英特尔®酷睿™i5”时,mysql发出错误“错误的字符串值:'\ xE2 \ x88 \ x92 In ...'列'spec_1 “”。Mysql未处理特殊字符

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

我从this得到了一些想法,但仍不知道它为什么会发生。解决这个问题的最好方法是什么?

编辑补充上request--

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

什么是您的表/字段的字符集? – Nelson

+0

你可以在sqlfiddle.com中重现吗? – biziclop

+1

这里你去http://sqlfiddle.com/#!2/ce901 ..因为它有错误,它不保存它 – antnewbee

回答

0

改变了字符集为UTF-8,它解决了问题。

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

如果您有这个问题,那么:

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