2013-10-08 83 views
3

如何导入包含一些非UTF8字符的CSV文件到MongoDB? 我尝试了一个推荐的导入代码。在MongoDb中导入CSV文件(包含一些非UTF8字符)

mongoimport --db dbname --collection colname --type csv --headerline --file D:/fastfood.xls 

错误消息

exception: Invalid UTF8 character detected 

我将手动删除这些无效字符,但数据的大小是相当大的。

尝试谷歌没有成功。

PS:mongo -v = 2.4.6

谢谢。

编辑: 顺便说一句,我对Win7的

回答

5

在Linux中,如建议您可以使用iconv命令:How to remove non UTF-8 characters from text file

iconv -f utf8 -t utf8 -c file.txt

我不熟悉的MongoDB,所以我不知道如何在导入过程中保留无效字符。

+0

Win也可以吗?如果我在CMD上写'iconv',它不起作用。 (iconv不被识别为内部或外部命令) – Zafar

+2

我认为可以在这里下载windows的iconv命令:http://sourceforge.net/projects/gettext/ – tderensis

+0

如何从.csv中删除无效的UTF-8字符文件在Windows中? – Prateek

0

您正在尝试导入xls文件作为csv文件。首先将该文件保存为csv,然后重试。

+0

感谢您的回复,试过并得到了结果。 – Zafar

+0

你是否得到了期望的结果(成功导入)或相同的UTF-8错误?你是如何将文件从xls转换为csv的? – SuperAce99

+0

我的意思是我得到了相同的结果 - 错误。我只是将文件保存为“csv”。没有使用任何工具或其他东西来转换它。 – Zafar

1

对于emacs用户: 在emacs中打开CSV文件并使用'C-x C-m f'更改编码并选择utf-8作为编码系统。欲了解更多信息,请参阅ChangingEncodings

相关问题