我有12个excel文件,每个文件都包含2个字段(列)中的大量数据: id 和文字。
每个excel文件对文本字段使用不同的语言:西班牙语,意大利语,法语,英语,德语,阿拉伯语,日语,rusian,韩语,中文,日语和葡萄牙语。
id 字段是字母和数字的组合。
我需要将每个excel导入到不同的MySQL表中,因此每种语言都有一个表。
我正在尝试以下方式: - 将excel保存为CSV文件 - 在phpMyAdmin中导入CSV
问题是我遇到了各种各样的问题,我无法正确导入它们,可能是因为编码问题。
例如,对于阿拉伯语,我将所有内容设置为UTF-8(数据库表字段和CSV文件),但是当我执行导入时,我得到奇怪的字符而不是普通的阿拉伯字符(如果我手动复制它们,它们显示很好。)
我得到的其他问题是某些文本有逗号,并且由于CSV文件也使用逗号分隔字段,因此只要有逗号,导入的文本就会被截断。
其他问题是,当保存为CSV时,字符会搞砸(就像中文字符一样),而且我找不到告诉excel我想在CSV文件中使用哪种编码的选项。
我可以遵循任何“协议”或“规则”以确保我以正确的方式执行此操作吗?什么适用于每种不同的语言?我正在努力关注字符编码,但即便如此,我仍然会得到奇怪的东西。
也许我应该尝试使用其他方法而不是CSV文件?
非常感谢任何建议。
答案 0 :(得分: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。
答案 1 :(得分:0)
好的,我如何解决所有问题?忘记EXCEL !!!
我将excels上传到Googledocs电子表格,将其下载为CSV,所有角色都很完美。
然后我只使用" utf_general_ci"导入到表格的相应字段中。整理,现在一切都在数据库中完美上传。