2016-12-31 37 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