使用UTF8编码将Excel转换为CSV

我有一个Excel文件,其中包含一些西班牙字符(波浪线等),我需要将其转换为CSV文件以用作导入文件。 但是,当我做另存为CSV时,它会损坏不是ASCII字符的“特殊”西班牙字符。 它似乎也是通过左右引号和长破折号来实现的,这些引号和长破折号似乎来自在Mac中创建Excel文件的原始用户。

由于CSV只是一个文本文件,我相信它可以处理UTF8编码,所以我猜这是一个Excel限制,但我正在寻找一种方法来从Excel转换为CSV并保留非ASCII字符完整。


一个简单的解决方法是使用Google Spreadsheet。 粘贴(仅限于具有复杂公式的值)或导入图纸,然后下载CSV。 我只是尝试了几个角色,而且效果很好。

注意:Google表格在导入时确实存在限制。 看这里。

注意:请注意Google表格中的敏感数据。

编辑:另一种选择 - 基本上他们使用VB宏或插件强制保存为UTF8。 我还没有尝试过这些解决方案,但听起来很合理。


我发现OpenOffice的电子表格应用程序Calc非常擅长处理CSV数据。

在“另存为...”对话框中,单击“格式选项”以获取CSV的不同编码。 LibreOffice的工作方式与AFAIK相同。

calc保存对话框


  • 将Excel工作表保存为“Unicode文本(.txt)”。 好消息是所有的国际字符都是UTF16(注意,不是UTF8)。 但是,新的“* .txt”文件是TAB分隔的,而不是逗号分隔的,因此不是真正的CSV。

  • (可选)除非您可以使用TAB分隔文件进行导入,否则请使用您最喜欢的文本编辑器并用逗号“,”替换TAB字符。

  • 在目标应用程序中导入* .txt文件。 确保它可以接受UTF16格式。

  • 如果UTF-16已正确实施并支持非BMP代码点,那么您可以将UTF-16文件转换为UTF-8而不会丢失信息。 我留给你找到你最喜欢的方法。

    我使用此过程将数据从Excel导入到Moodle。

    链接地址: http://www.djcxy.com/p/68385.html

    上一篇: Excel to CSV with UTF8 encoding

    下一篇: What is base 64 encoding used for?