首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >通过CSV将excel数据导入MySQL时出现问题

通过CSV将excel数据导入MySQL时出现问题
EN

Stack Overflow用户
提问于 2012-06-15 05:40:53
回答 2查看 7.7K关注 0票数 0

我有12个excel文件,每个文件都有两个字段(列)组织的大量数据:idtext

每个excel文件对text字段使用不同的语言:西班牙语、意大利语、法语、英语、德语、阿拉伯语、日语、俄语、韩语、中文、日语和葡萄牙语。

id字段是字母和数字的组合。

我需要导入每个excel到一个不同的MySQL表,所以每种语言一个表。

我尝试这样做:-将excel另存为CSV文件-在phpMyAdmin中导入该CSV

问题是我遇到了各种各样的问题,我不能正确地导入它们,可能是因为编码问题。

例如,对于阿拉伯字符,我将所有内容都设置为UTF-8 (数据库表字段和CSV文件),但是当我导入时,我得到的是奇怪的字符,而不是普通的阿拉伯字符(如果我手动复制它们,它们显示得很好)。

我得到的其他问题是,一些文本有逗号,因为CSV文件也使用逗号分隔字段,在导入的文本中,只要有逗号,就会被截断。

其他问题是,当另存为CSV时,字符变得混乱(就像中文的),我找不到一个选项来告诉excel我想在CSV文件中使用什么编码。

有没有什么“协议”或“规则”可以让我遵循,以确保我以正确的方式去做?能为每种不同的语言工作的东西吗?我正在努力注意字符编码,但即使这样,我仍然得到了奇怪的东西。

也许我应该尝试一种不同的方法而不是CSV文件?

任何建议都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-15 08:24:55

好吧,我该如何解决我所有的问题呢?忘记EXCEL吧!

我把excels上传到Googledocs电子表格,下载成CSV格式,所有的字符都很完美。

然后,我使用"utf_general_ci“排序规则将其导入到表的相应字段中,现在所有内容都完美地上传到数据库中。

票数 3
EN

Stack Overflow用户

发布于 2012-06-15 06:04:36

在CSV中做的一件标准事情是用双引号将包含逗号的字段括起来。所以

ABC, johnny cant't come out, can he?, newfield

变成了

ABC, "johnny cant't come out, can he?", newfield

如果您选择将文件类型另存为CSV,我相信Excel可以做到这一点。您将遇到的一个问题是CSV仅适用于ANSI。我认为你需要使用"Unicode Text“的另存为选项,并使用制表符分隔符或将它们转换为逗号。Unicode文本选项还会将包含逗号的值引起来。(使用Excel 2007检查)

编辑:添加特定方向

Excel2007中(具体细节对于其他版本的Excel可能会有所不同)

选择“另存为”

在“保存类型:”字段中,选择"Unicode Text“

您将获得一个Unicode文件。UCS-2小端,具体地说。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11041759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档