我想从第一行文件中提取一个单词:
LOCATION,Feij�,AC,a,b,c
这样:
2.0.0-p247 :005 > File.foreach(file).first
=> “LOCATION,Feij \ XF3,AC,A,B,C \ r \ n” 个`
但是当我尝试使用split时:
2.0.0-p247 :008 > File.foreach(file).first.split(",")
ArgumentError:来自(irb)的UTF-8中的无效字节序列:8:
split' from (irb):8 from /home/bleh/.rvm/rubies/ruby-2.0.0-p247/bin/irb:13:in
'
我的期望是:Feijó
我已经尝试了很多组合,例如.encode和.force_encoding。
一些想法?
答案 0 :(得分:3)
ó
中的字符\xF3
为File.foreach(file, :encoding => 'iso-8859-1:utf-8').first.split(",")
,因此这可能是文件的编码(也可能是ISO-8859-1 encoding。
您可以将编码指定为CP-1252的arg,也可以让Ruby为您重新编码为UTF-8:
{{1}}