From: thiago.lewin@... Date: 2014-03-05T05:19:23+00:00 Subject: [ruby-core:61297] [ruby-trunk - Bug #9582] CSV#headers not giving expected results. Issue #9582 has been updated by Thiago Lewin. File 9582.patch added The CSV::Table#headers method just look at the first row of the table, if you enable the option ":return_headers" then should work. In order to keep the API consistency, I attached a patch that iterates through the table until find a row with header information. ---------------------------------------- Bug #9582: CSV#headers not giving expected results. https://bugs.ruby-lang.org/issues/9582#change-45629 * Author: arup rakshit * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: - * Backport: ---------------------------------------- It seems something not working as expected in CSV. I tried to find the reason here , http://rxr.whitequark.org/mri/source/lib/csv.rb but I failed. require 'csv' content = <<_ key,fr edit,��diter close,Fermer _ File.write('test',content) file = CSV.read('test', :headers => true) file.headers # => ["key", "fr"] file.to_a # => [["key", "fr"], ["edit", "��diter"], ["close", "Fermer"]] content = <<_ key,fr edit,��diter close,Fermer _ File.write('test1',content) file = CSV.read('test1', :headers => true) file.headers # => [] # <~~~~~~~~~~~ Is this a bug ? file.to_a # => [[], [], ["edit", "��diter"], ["close", "Fermer"]] ---Files-------------------------------- 9582.patch (870 Bytes) -- http://bugs.ruby-lang.org/