在ruby 2.5.0中读取带有BOM的UTF-8

时间:2018-02-19 20:34:53

标签: ruby csv encoding utf-8 utf

有没有办法在Ruby v2.5.0上以BOM(字节顺序标记)读取以UTF-8编码的文件?

在Ruby 2.3.1上,这曾经起作用:

 csv = CSV.open(file_path, encoding: 'bom|utf-8')

但是,在2.5.0上出现以下错误:

  ArgumentError:
    unknown encoding name - bom|utf-8 

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

require 'file_with_bom'

File.open(file_path, "w:utf-8", :bom => true ) do |csv|

end

效果很好

答案 1 :(得分:0)

您也可以尝试以下方法:

  

File.open(file_path,“ r:bom | utf-8”)