首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用FasterCSV导入名为“Ciarán”的行?

如何使用FasterCSV导入名为“Ciarán”的行?
EN

Stack Overflow用户
提问于 2018-07-25 08:20:37
回答 2查看 0关注 0票数 0

我正在尝试在数据迁移中加载成员数据库。相当多的名字都有特殊字符,如“Ciarán”。我设置了一个这样一个简单的例子:

代码语言:txt
复制
require 'rubygems'
require 'fastercsv'

FasterCSV.foreach("/Users/developer/Work/madmin/db/data/Members.csv") do |row|
  puts row.inspect
end

我得到了以下内容:

代码语言:txt
复制
/usr/local/lib/ruby/gems/1.8/gems/fastercsv-1.5.0/lib/faster_csv.rb:1616:in `shift': FasterCSV::MalformedCSVError (FasterCSV::MalformedCSVError)

当我用这个名字命中行时。

我一直在谷歌搜索字符编码和UTF-8,但还没有找到解决方案。我想保留特殊字符,但不必编辑失败的每个成员名称。

EN

回答 2

Stack Overflow用户

发布于 2018-07-25 16:44:34

如果需要更改编码,你可以将编码选项传递给FasterCSV。例如,要告诉它使用UTF-8,可以这样做:

代码语言:txt
复制
require 'rubygems'
require 'fastercsv'

FasterCSV.foreach("some file.csv", :encoding => 'u') do |row|
  puts row.inspect
end

编码选项列在新的文档中(http://fastercsv.rubyforge.org/classes/FasterCSV.html#M000018)

票数 0
EN

Stack Overflow用户

发布于 2018-07-25 18:08:20

可以通过设置KCODE来解决。例如:

代码语言:txt
复制
$KCODE = "U"

把这个放在顶部。

詹姆斯·爱德华·格雷(JamesEdwardGray)也表示,他对FasterCSV增加了编码支持,但它只在主干中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档