CSV檔案匯入Mysql出現的亂碼等問題 (轉載)

來源:互聯網
上載者:User

標籤:creat   syntax   style   簡單   data   enc   錯誤   name   min   

將*.csv檔案匯入mysql可使用LOAD DATA INFILE,

概要寫法:

Load data in file

 

具體文法使用可參照:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#load-data

如果一個表中只有英文字元則匯入不出現問題,寫法也極其簡單:

LOAD DATA LOCAL INFILE ‘D:\\ports.csv’ INTO TABLE ports;

 

遇到的問題一:ports.csv檔案中存在中文字元,匯入資料後變成亂碼

首先修改表及欄位的編碼方式

alter table ports character set gbk2312;
alter table ports modify port_chinese varchar(50) character set gbk2312;

 

 

通過 show create table ports 查看錶及欄位的編碼方式,當然也可以通過視覺化檢視修改欄位的編碼格式

我匯入的命令列具體寫法是:

 

LOAD DATA LOCAL INFILE ’D:\\ports.csv’ INTO TABLE ports  FIELDS TERMINATED ‘,‘ ENCLOSED BY ‘”’ LINES TERMINATED BY ‘\r\n’ starting by’’;

 

但我修改以上兩項之後我匯入資料依舊亂碼,我的CSV檔案編碼格式是GBK,

 

在網路上找到一篇關於此問題的文章:http://www.sqlstudy.com/sql_article.php?id=2008081901,借鑒於文章中的寫法修改語句如下:

LOAD DATA LOCAL INFILE ’D:\\ports.csv’ INTO TABLE ports   character   set  gbk2312  FIELDS TERMINATED ‘,‘ ENCLOSED BY ‘”’ LINES TERMINATED BY ‘\r\n’ starting by ’’;

 

至此亂碼變成了正確的中文字元。

 

遇到的問題二:在匯入資料後查看資料時發現CSV檔案中第一行有效資料丟失,而多出三行怪異的無效資料行,而且在執行匯入命令時有39個警告

 

首先我使用SHOW WARNINGS;命令查看提示的警告內容,發現CSV檔案中的欄位標題匯入資料庫中出現了N多警告,而出現資料錯誤的關鍵原因在 LINES TERMINATED BY ‘\r\n’ 這句中,因為第一行欄位標題並沒有以斷行符號換行字元結束,第一列名列在轉換過程出錯,也導致了第一行有效資料在匯入處理程序中出現錯誤。我將csv檔案中檔案標題的最後一欄位標題加上一斷行符號後儲存資料,CSV中的第一行有效資料終於匯入到資料中,但卻多一列名行資料,通過IGNORE命令可解決。

最後的CSV匯入命令列的寫法:

LOAD DATA LOCAL INFILE ’D:\\ports.csv’ INTO TABLE ports   character set gbk2312  FIELDS TERMINATED ‘,‘ ENCLOSED BY ‘”’ LINES TERMINATED BY ‘\r\n’ starting by ’’ IGNORE 1 LINES;

 

 

CSV檔案匯入Mysql出現的亂碼等問題 (轉載)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.