2012-10-03 81 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