2016-12-31 36 views
0

我已成功設置我的Ubuntu 16.04 LTS LAMPS服務器,以便MySQL 5.7現在完全支持utf8mb4字符集。亞洲和法國字符集可以直接輸入到數據庫前端XATAFace中,不會有任何問題。utf8mb4用於導入到MySQL的csv文件的編碼

當我導入CSV文件到MySQL與phpMyAdmin的管理前端,我用法語語言字符現在做的CSV文件不會被導入,投擲familar mysql的輸入錯誤:

1366 Incorrect String value: ‘\xE9ciali…’ for column . . . .

我猜測可以將csv文件編碼爲utf8mb4的文本編輯器是需要的;如果這是錯誤的,請糾正我。在Windows平臺上是否有文本編輯器允許將csv文件編碼爲utf8mb4,以便我可以將我的csvs成功導入到MySQL中?

任何想法如何克服這種CSV導入障礙?

在此先感謝馬克,密歇根州薩吉諾

+0

當您在文本編輯器中打開csv文件時,您是否看到UTF8字符或它們的ASCII轉換? – jcorry

+0

請在您的問題中添加有問題的數據的hexdump。 (如果有'\ xe9cia',它不是** utf8,但可能只是一些二進制文件,如cp1252) – wildplasser

回答

2

utf8mb4僅僅是由任何其他程序UTF-8。

UTF-8由標準是每個字符(每個字節是8個比特高達 4個字節,但由於某些原因的MySQL UTF-8是每字符,從而不僅可以高達3個字節顯示完整的UTF-8字符集。因此mb4;當人們向MySQL抱怨這個wyrd概念時,他們設置了UTF-8 multibyte 4作爲完整的UTF-8字符集。

Microsoft產品存在各種問題,無法將CSV文件正確編碼爲UTF-8;並且無法正確導入UTF-8 CSV文件。

您還可以閱讀similar questions關於如何讓PHPMyAdmin正確導入CSV文件。

有您的問題far too many可能的原因,但在第一次開始,我會說使用一個程序,如NotePad++OpenOffice(均免費),它可以使用CSV文件協調一致地工作,然後把你的原始數據,並將其保存爲UTF-8或其他所有包含charicer set,如Windows-1252。

This topicthis topic對於一般的UTF-8和web問題也可能是一個非常有用的大開眼界。


此外,您可能需要一個字節順序標記添加到您的UTF-8 CSV文件(這是上面提到的Microsoft Excel中問題的原因)。 This answer有助於此。您也可以通過read here瞭解有關使用BOM的更多信息。

祝你好運。

0

如果這是您擁有的典型數據,請使用latin1而不是utf8連接。 MySQL將轉換爲爲列定義的CHARACTER SET。如果您使用的是LOAD DATA(用於導入.csv文件),則有一條用於建立源文件的條款CHARACTER SET