在 ruby​​ 2.5.0 中使用 BOM 读取 UTF-8

rom*_*hcf 6 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')
Run Code Online (Sandbox Code Playgroud)

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

  ArgumentError:
    unknown encoding name - bom|utf-8 
Run Code Online (Sandbox Code Playgroud)

小智 0

你可以试试这个:

require 'file_with_bom'

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

end
Run Code Online (Sandbox Code Playgroud)

效果很好