我有一个Excel文件,其中有一些西班牙字符(波浪号等),我需要将其转换为CSV文件作为导入文件使用。然而,当我将另存为CSV时,它会破坏不是ASCII字符的“特殊”西班牙字符。它似乎也这样做的左右引号和长破折号,似乎是来自最初的用户在Mac中创建Excel文件。
由于CSV只是一个文本文件,我确信它可以处理UTF8编码,所以我猜这是Excel的限制,但我正在寻找一种方法,从Excel到CSV,并保持非ascii字符完整。
我有一个Excel文件,其中有一些西班牙字符(波浪号等),我需要将其转换为CSV文件作为导入文件使用。然而,当我将另存为CSV时,它会破坏不是ASCII字符的“特殊”西班牙字符。它似乎也这样做的左右引号和长破折号,似乎是来自最初的用户在Mac中创建Excel文件。
由于CSV只是一个文本文件,我确信它可以处理UTF8编码,所以我猜这是Excel的限制,但我正在寻找一种方法,从Excel到CSV,并保持非ascii字符完整。
当前回答
Excel通常将csv文件保存为ANSI编码,而不是utf8编码。
更正文件的一个选项是使用Notepad或notepad++:
使用Notepad或notepad++打开.csv文件。 复制内容到你的电脑剪贴板。 从文件中删除内容。 将文件的编码更改为utf8。 将剪贴板上的内容粘贴回来。 保存文件。
其他回答
使用notepad++打开.csv文件。如果你看到你的编码是好的(你看到所有字符,因为他们应该)按编码,然后转换为ANSI Else -找出当前的编码
另一个解决方案是用winword打开文件,并将其另存为txt,然后用excel重新打开,它将工作ISA
(在Mac上:)从Excel保存为CSV文件。在TextWrangler中打开CSV文件(它是免费的),并使用“另存为”。在保存对话框中选择Unicode (UTF-8)。完成
(我猜你也可以用TextEdit做到这一点-如果你玩打开和保存设置。尝试打开文件:自动,保存文件:UTF-8)
Microsoft Excel提供了一个使用Unicode编码导出电子表格的选项。请看下面的截图。
您可以在Unix下使用iconv命令(也可以在Windows上作为libiconv)。
在Excel下保存为CSV后,在命令行输入:
iconv -f cp1250 -t utf-8 file-encoded-cp1250.csv > file-encoded-utf8.csv
(记住用你的编码替换cp1250)。
工作快速和伟大的大文件,如邮政编码数据库,不能导入到GoogleDocs(400.000单元格限制)。