【问题标题】:Ruby CSV UTF-8 Encoding/Translation IssuesRuby CSV UTF-8 编码/翻译问题
【发布时间】:2012-09-13 16:21:18
【问题描述】:

我的数据中有 Ruby 1.9 CSV 和无效 UTF-8 字符的问题。

我的代码如下所示:

CSV.foreach("small-test2.csv", options) do |row |

    name, workgroup, address, actual, output = row
    next if nbname == "NBName"
    @ssl_info[name] = workgroup, address, actual, output

   ic = Iconv.new('UTF-8//IGNORE', 'UTF-8')
   clean = ic.iconv(output + ' ')[0..-2]

   puts clean

end

但是我仍然得到以下信息:

ArgumentError: invalid byte sequence in UTF-8
           =~ at org/jruby/RubyRegexp.java:1487
           =~ at org/jruby/RubyString.java:1686

这里有什么我遗漏的吗?

【问题讨论】:

  • 你不应该在 1.9 中使用 iconv

标签: ruby csv utf-8


【解决方案1】:

试试这个,

output.encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => "")

【讨论】:

    猜你喜欢
    • 2017-07-16
    • 2020-01-25
    • 2014-06-19
    • 2010-12-01
    • 1970-01-01
    • 2015-03-04
    相关资源
    最近更新 更多