【问题标题】:How to process Unicode CSV files in Ruby CSV correctly?如何正确处理 Ruby CSV 中的 Unicode CSV 文件?
【发布时间】:2013-04-13 22:32:47
【问题描述】:

我正在尝试处理一些 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

【问题讨论】:

  • fileencoding_test.csv: Little-endian UTF-16 Unicode text

标签: ruby csv encoding


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-30
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多