我有一個csv文件,其中包含一些行,我想使用LOAD DATA INFILE
MySQL命令將其插入到MySQL表中。當我使用該命令並且插入準備就緒時,插入的特殊字符全部混亂。該文件正確存儲字符(我認爲是這樣,因爲當我用EditPlus這樣的編輯器打開文件時,特殊字符全部被破壞,但當用其他編輯器打開時,如EmEditor,特殊字符顯示正確),列將保存具有特殊字符的文本的字符是utf8_general_ci
,它們是varchar
列或text
列。該表是InnoDB
表,其中排序規則設置爲utf8_general_ci
。我運行LOAD DATA INFILE
命令,從MariaDB的命令行,使用以下參數:MySQL數據庫的特殊字符(cyrilic,chinese)
LOAD DATA INFILE '/path/to/csv/file' INTO TABLE tablename FIELDS TERMINATED BY '|' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
任何想法的問題可能是什麼,以及可能的解決方案可能是什麼?
謝謝!
編輯:我使用SET NAMES "utf8";
命令,使用LOAD DATA INFILE
一個,沒有成功之前也試過:|
對於中文,您可能需要'utf8mb4'而不是'utf8'。某些表情符號和中文字符僅適用於utf8mb4。 (西里爾文也好。) –
看起來,即使是中文字符現在工作與欺騙的解決方案。 –
_Most_中文字符使用'utf8'。只有4字節的編碼失敗。 –