【问题标题】:ruby - reading files with utf-8 4 byte charactersruby - 使用 utf-8 4 字节字符读取文件
【发布时间】:2014-02-01 02:39:53
【问题描述】:

我有带有 utf-8 字符的 csv 文件,例如 - Łódź。当我尝试使用

读取文件时
file=File.open(file, "r:ISO-8859-1:UTF-8")

它没有正确编码字符。

这适用于其他 utf-8 字符,如 Göteborg,但不适用于所有字符。

如何读取可以编码所有 UTF-8 字符的文件?

【问题讨论】:

  • 请提供更多详细信息,例如您的操作系统、控制台中使用的编码(或者您可以看到程序的输出)、您的 Ruby 版本和输入文件的编码(您确定它是 UTF-8?因为您的 r:ISO-8859-1:UTF-8 另有说明)。

标签: ruby file csv utf-8


【解决方案1】:

您正在尝试以LATIN 编码读取文件。 Göteborg 被正确读取,因为 ASCII-8/ISO-8859-1 中有“o umlaut”。

File.open(file, "r:UTF-8")

成功了。

顺便说一句,无论您使用的是 ruby​​ 2+,您都可以完全省略 "r:…" 部分:现在默认情况下正在读取 UTF-8 中的文件。

【讨论】:

    猜你喜欢
    • 2013-05-05
    • 2015-07-26
    • 1970-01-01
    • 2011-10-23
    • 2016-05-03
    • 2021-06-24
    • 1970-01-01
    • 2011-07-29
    相关资源
    最近更新 更多