2017-07-28 4 views
0

Ich versuche, eine CSV-Datei in MySQL zu importieren. Die Datei enthält UTF8-Daten. Es funktioniert gut, wenn ich einen mysql-Server 5.5 auf einem CentOS-Server verwende, aber es scheitert, wenn ich einen mysql-Server 5.7.19 auf einem Mac OSX-Computer verwende. (die erste Zeile ist in Ordnung, aber es beschwert sich in der zweiten Zeile)mysql Fehler 1300 (HY000): Ungültige utf8mb4 Zeichenfolge

So könnte es ein Konfigurationsproblem des mysql-Servers auf meinem Mac OSX-Computer sein. Irgendeine Idee?

mysql> CREATE TABLE tls203_appln_abstr (
    appln_id int(11) NOT NULL DEFAULT '0', 
    appln_abstract_lg char(2) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '', 
    appln_abstract text COLLATE utf8mb4_unicode_ci, 
    PRIMARY KEY (appln_id) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AVG_ROW_LENGTH=800; 

mysql> LOAD DATA INFILE "/tmp/tls203_part23_sample.txt" 
       INTO TABLE tls203_appln_abstr FIELDS TERMINATED BY "," 
       OPTIONALLY ENCLOSED BY '"' 
       LINES TERMINATED BY '\r\n'; 

ERROR 1300 (HY000): Invalid utf8mb4 character string: '"聚对苯二甲酸乙二醇酯作为锂' 

Sie können die Datei tls203_part23_sample.txt herunterladen.

Antwort

1

CHARACTER SET utf8mb4 

zwischen den INTO und FIELDS Klauseln hinzufügen.

+0

ich bekomme genau den gleichen Fehler. –

+0

Hmmm ... Scheint, auf Ubuntu mit Percona 5.6.22-71 OK zu funktionieren, mit Ihrer Textdatei als heruntergeladen. Das heißt, ich habe den Text nicht kopiert/eingefügt, was die Zeilenbegrenzer hätte ändern können. Mein Test war ohne die hinzugefügte Zeile. Kann es unter LOAD auf MacOSX ein CRLF-Problem geben? –

+0

https://bugs.mysql.com/bug.php?id=76237 - fast gilt. –

Verwandte Themen