2017-05-31 2 views
0

私はcsvファイルの束を持っていて、不思議なほど\' utf8がユニコード文字MySQLのエラーコード:1300.不正なutf8文字列:ユニコード文字の前に ''が付いた '' '

LOAD DATA LOCAL INFILE 'test.csv' 
INTO TABLE TEST_TABLE 
CHARACTER SET 'utf8' 
FIELDS TERMINATED BY ';' 
ENCLOSED BY '"'; 

エラー:無効なUTF8文字列を:経由で一括挿入を行う際に

Tom;\Éscobar;123 

と '' スローされます。 これはMySQLの負荷データのバグか、ここに何か不足しているのだろうかと思います。

MySQL-Version 5.7.16 
+0

ファイルが不適切にエンコードされたようです。あなたはその行のヘクスを得ることができますか? –

+0

元の行は、次のとおりです:\朱坤(hex)の5c67315764。どのような組み合わせでも再現できます\ + [いくつかのunicode char]。ファイルはutf8でエンコードされています –

+0

Hmmm ...いいえ 'CHARACTER SET'は' 5c67315764'を '\朱坤'として扱います。 –

答えて

0

あなたはパターンが何であるかを把握することができた場合は、...

  1. 負荷VARBINARYBLOB列(複数可)にCSV。
  2. おそらくREPLACE()関数を使用してSQLを実行し、データをクリーンアップします(ブラックスラッシュを削除します)。
  3. 適切なALTER、おそらくMODIFY COLUMN ... VARCHAR(...) CHARACTER SET utf8mb4を入力してテキスト形式にします。
関連する問題