2017-07-28 277 views
0

我尝试将一个CSV文件导入到mysql。该文件包含UTF8数据。 当我在CentOS服务器上使用MySQL服务器5.5时,它运行良好,但是当我在Mac OSX计算机上使用MySQL服务器5.7.19时,它失败。 (第一行是好的,但它在第二行上抱怨)mysql错误1300(HY000):无效utf8mb4字符串

因此,它可能是我的Mac OSX计算机上的mysql服务器的配置问题。任何想法?

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: '"聚对苯二甲酸乙二醇酯作为锂' 

您可以下载tls203_part23_sample.txt文件。

回答

1

添加

CHARACTER SET utf8mb4 
INTOFIELDS子句之间

+0

我得到完全相同的错误。 –

+0

嗯...似乎可以在Percona 5.6.22-71上使用你的文本文件下载。这是我没有复制/粘贴文本,这可能会改变行结束符。我的测试没有添加线。 MacOSX上的LOAD中是否存在CRLF问题? –

+0

https://bugs.mysql.com/bug.php?id=76237 - 几乎适用。 –

相关问题