我已经成功地设置了我的Ubuntu16.04LTS灯服务器,以便MySQL 5.7现在完全支持utf8mb4字符集。亚洲和法语字符集可以直接输入数据库前端XATAFace,没有任何问题。
当我用phpmyadmin管理前端将csv文件导入MySQL时,我现在使用法语字符生成的csv文件没有被导入,引发了熟悉的mysql导入错误:
1366不正确的字符串值:‘\xE9ciali…’列的。。。。
我猜一个文本编辑器可以将csv文件编码为utf8mb4,如果这是错误的,请纠正我。在Windows上是否有一个文本编辑器,允许对utf8mb4文件进行编码,以便我能够成功地将csv导入到MySQL中?
有什么想法可以克服这个csv导入障碍吗?
提前感谢马克,密西根州萨吉诺
发布于 2016-12-31 17:02:32
utf8mb4仅仅是任何其他程序的UTF-8 .
按照标准,UTF-8每个字符最多可达4字节(每个字节为8位),但由于某种原因,MySQL UTF-8仅为每个字符最多3字节,因此无法显示完整的UTF-8字符集。因此出现了UTF-8 multibyte 4;当人们向MySQL抱怨这个wyrd概念时,他们将mb4设置为完整的UTF-8字符集。
Microsoft产品无法将CSV文件正确编码为UTF-8,以及无法正确导入UTF-8 CSV文件,存在各种问题。
您还可以阅读有关如何获取类似问题以正确导入CSV文件的PHPMyAdmin。
有可能是太多了问题的原因,但在第一开始,我想说,使用一个程序,如NotePad++或OpenOffice (都是免费的),可以与CSV文件一致地工作,然后将原始数据保存为UTF-8或其他包含所有字符集,如Windows1252。
本题和本题也可以为一般的UTF-8和网络问题打开一个非常有用的眼界。
此外,您可能需要向您的UTF-8 CSV文件中添加一个Byte Order标记(这就是上面提到的Microsoft问题的原因)。这个答案在这方面有帮助。您还可以通过在这里读获取有关使用BOM的更多信息。
祝好运。
发布于 2017-01-03 01:57:12
如果这是典型的数据,那么使用latin1而不是utf8连接。MySQL将转换为为列定义的CHARACTER SET。如果使用LOAD DATA (用于导入.csv文件),则有一个用于建立源CHARACTER SET的子句。
https://stackoverflow.com/questions/41410216
复制相似问题