MySQL 1366字符串值不正确:将unicode字符导入MySQL

时间:2016-02-01 18:52:25

标签: mysql

关于将unicode字符导入MySQL的问题有几个帖子,但没有一个答案适合我。我将尝试尽可能多地发布问题的每个细节,以便任何人都可以重现这个问题。简而言之,我从Sybase导入数据,我们有nvarchar支持,字符可以来自任何语言,我试图在MySQL中找到一个可以容纳任何东西的通用字符集。我使用的是utf8mb4字符集,它对我不起作用。

这是我得到的错误

enter image description here

我的服务器变量配置

enter image description here

我的架构

create DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
create table testdb.Tmp1 
 (  DesignName varchar(255) character set utf8mb4 null,  
    CreationDate datetime null)CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

我使用MySQL Load命令导入数据,这是加载命令

LOAD DATA LOCAL INFILE 'C:\\tmp.txt'
INTO TABLE testdb.tmp1
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
( @DesignName,
  @CreationDate
)
SET DesignName=nullif(@DesignName,''),
    CreationDate = nullif( STR_TO_DATE(@CreationDate,'%M %d %Y %h:%i:%s:%f%p'), "0000-00-00 00:00:00");

这是我的测试数据

"Bandpass, Sallen Key, Linear Phase 0.5°","Sep 13 2013  1:11:49:000AM"
"Lowpass, Sallen Key, Linear Phase 0.05°","Jan  4 2014 10:54:58:000PM"

0 个答案:

没有答案