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 に答える