如何正确处理Ruby CSV中的Unicode CSV文件?

时间:2013-04-13 22:32:48

标签: ruby csv encoding

我正在尝试处理一些Google Adwords csv文件。这些文件以UNICODE格式提供。当我使用Ruby CSV解析器来解析文件时。我无法读取该文件。字符显示为\ x00a \ x00b等。

我最终必须在OpenOffice中打开文件,然后选择UTF-8渲染文件然后保存。之后,Ruby CSV可以处理该文件。我还必须删除csv文件中第一个看起来像黑色圆圈中的数字8的字符,因为它不是有效的UTF-8字符。这个特殊字符是OpenOffice中UNICODE转换为UTF-8的结果。

那么将csv文件转换为没有非法字符的Ruby友好编码的最佳方法是什么?

要了解我的意思,您可以尝试打开Ruby CSV来打开此文件并解析这些行。

https://github.com/zben/encoding_test/blob/master/encoding_test.csv

1 个答案:

答案 0 :(得分:0)

This page建议使用Iconv.iconv转换:

doc = Iconv.iconv('UTF-8', 'UTF-16', doc)