diff --git a/lib/roo/csv.rb b/lib/roo/csv.rb index d56f7619..c161c64e 100644 --- a/lib/roo/csv.rb +++ b/lib/roo/csv.rb @@ -98,7 +98,7 @@ def each_row_using_tempdir def set_row_count(sheet) @first_row[sheet] = 1 - @last_row[sheet] = ::CSV.readlines(@filename).size + @last_row[sheet] = ::CSV.readlines(@filename, csv_options).size @last_row[sheet] = @first_row[sheet] if @last_row[sheet].zero? nil @@ -106,7 +106,7 @@ def set_row_count(sheet) def set_column_count(sheet) @first_column[sheet] = 1 - @last_column[sheet] = (::CSV.readlines(@filename).first || []).size + @last_column[sheet] = (::CSV.readlines(@filename, csv_options).first || []).size @last_column[sheet] = @first_column[sheet] if @last_column[sheet].zero? nil diff --git a/test/files/iso_8859_1.csv b/test/files/iso_8859_1.csv new file mode 100644 index 00000000..48023585 --- /dev/null +++ b/test/files/iso_8859_1.csv @@ -0,0 +1,2 @@ +sic_reference;category_fr;category_de;brand;title_fr;title_de;description_fr;description_de;;;;;;;;;;; +MI-12005WC;Montres;Uhren;Miabelle;"Miramar; cuir blanc";"Miramar; Leder Weiss";"

L'ͩlͩgance redͩfinie. Ce mod��le Miabelle ne laisse pas indiffͩrent. La forme extravagante de cette montre est une exclusivitͩ Miabelle. Idͩalement con�_u pour les poignets fͩminins; il s'adapte parfaitement �_ toutes les tenues et les embellit. De forme ovale; ce mod��le est pourvu d'ͩlͩments Swarovski disposͩs sur une couronne ͩtincelante. 4 vͩritables diamants viennent parfaire le cadran nacrͩ. C'est l�_ le secret de cette brillance ͩclatante.

Garantie 2 ans

";"

Eleganz erf�_hrt eine ganz neue Dimension. Dieses Modell von Miabelle l�_sst alle Herzen h�_her schlagen. Die kreative Form des Geh�_uses ist ein echtes Designhighlight und sucht seines Gleichen. Betont wird die ovale Form durch einen leuchtenden Kranz aus funkelnden Swarovski-Elementen; die perfekt von dem hochgl�_nzenden Geh�_use umrahmt werden. Vier Diamanten schm�_cken das Ziffernblatt und werden von echtem Perlmutt hinterlegt. So strahlt diese Uhr einen unvergleichlichen Glanz aus; der alle Blicke auf sich zieht.

Garantie 2 Jahre

";;;;;;;;;;; diff --git a/test/roo/test_csv.rb b/test/roo/test_csv.rb index d5b453d1..8606bb99 100644 --- a/test/roo/test_csv.rb +++ b/test/roo/test_csv.rb @@ -42,6 +42,14 @@ def test_csv_parsing_with_headers assert_equal headers, parsed[1].keys end + def test_iso_8859_1 + file = File.open(File.join(TESTDIR, "iso_8859_1.csv")) + options = { csv_options: { col_sep: ";", encoding: Encoding::ISO_8859_1 } } + workbook = Roo::CSV.new(file.path, options) + result = workbook.last_column + assert_equal(19, result) + end + def roo_class Roo::CSV end