将.CSV文件导入MySQL时保留字符集

时间:2015-04-23 09:27:57

标签: mysql phpmyadmin

我想将〜{6}行的.xlsx文件导入MySQL。有些列包含越南字符。我设法将.xlsx转换为.csv而不会弄乱字符集。但是,在将.csv导入MySQL时,我无法做到这一点。

我使用了LOAD DATA INFILE。它看起来像这样:

LOAD DATA LOCAL INFILE 'c:/Projekt/Big Data/events.csv' 
INTO TABLE database.table 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES;

(资料来源:http://blog.habrador.com/2013/01/how-to-import-large-csv-file-into-mysql.html

此方法导入数据正常,但越南字符的字符集完全搞砸了。我确实将表的排序更改为utf8_unicode_ci

我还用较小的数据集测试MySQL的传统导入方法,它完美地保留了字体。但是我不能使用它,因为我的文件大小超过了MySQL的限制。

真的很感激,如果有人可以帮我这个。

1 个答案:

答案 0 :(得分:2)

尝试通过导入指定显式字符集:

LOAD DATA LOCAL INFILE 'c:/Projekt/Big Data/events.csv' 
INTO TABLE database.table 
CHARACTER SET utf8
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
IGNORE 1 LINES;

See docs了解有关从文件加载的更多详细信息。