0

我有 12 个 excel 文件,每个文件都包含大量数据,分为 2 个字段(列):idtext

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

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

我需要将每个 excel 导入到不同的 MySQL 表中,因此每种语言一个表。

我正在尝试通过以下方式进行操作: - 将 excel 保存为 CSV 文件 - 在 phpMyAdmin 中导入该 CSV

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

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

我遇到的其他问题是某些文本有逗号,并且由于 CSV 文件也使用逗号来分隔字段,因此只要有逗号,导入的文本就会被截断。

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

有没有我可以遵循的“协议”或“规则”来确保我以正确的方式做事?适用于每种不同语言的东西?我正在尝试注意字符编码,但即便如此,我仍然会得到奇怪的东西。

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

任何建议将不胜感激。

4

2 回答 2

3

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

我将 Excel 上传到 Googledocs 电子表格,以 CSV 格式下载,所有字符都很完美。

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

于 2012-06-15T00:24:55.433 回答
0

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

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

变成

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

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

编辑:添加特定方向

Excel 2007中(其他版本的 Excel 可能会有所不同)

选择“另存为”

在“保存类型:”字段中,选择“Unicode 文本”

保存对话框截图

你会得到一个 Unicode 文件。特别是 UCS-2 Little Endian。

于 2012-06-14T22:04:35.653 回答