【问题标题】:Unicode string from CSV: replace \xHex symbols with unicode values来自 CSV 的 Unicode 字符串:用 unicode 值替换 \xHex 符号
【发布时间】:2023-04-04 12:28:02
【问题描述】:

我使用标准 Ruby 1.9 csv 库从 CSV 文件中读取了一些 Unicode 数据,如下所示:

def read_csv(file_name, value)
    CSV.foreach(file_name) do |row|
      if row[0] == value
        return row[1]
      end
    end
end

我得到一个字符串,Unicode 符号在调试中看起来没问题。

Invitación

但如果我把它(或与另一个字符串比较)它看起来像这样:

Invitaci\xC3\xB3n

如何将这些十六进制符号转换为值?或者也许我以某种方式读错了这个 CSV 文件?

【问题讨论】:

  • Bash 命令 echo $LC_ALL 不返回任何内容
  • 谢谢,但我找到了另一个解决方案,没有使用环境变量

标签: ruby string unicode csv


【解决方案1】:

实际上是我自己发现的。 换行就行了

CSV.foreach(file_name) do |row|

上线

CSV.foreach(file_name, encoding: "UTF-8") do |row|

这项工作完美无缺

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 2011-04-26
    • 2019-01-24
    • 2014-12-03
    • 2013-06-25
    • 1970-01-01
    • 2019-05-18
    相关资源
    最近更新 更多