From d1bf7b1789edd6d537e3791bf1214b4416655ab7 Mon Sep 17 00:00:00 2001 From: Hector Castro Date: Thu, 3 Dec 2015 13:20:40 -0600 Subject: [PATCH] Bug 15290: (follow-up)SQL reports headers encoding problem Fix SQL row data and headers enconding problem To test: -Apply patches -Follow previous test plan -Notice the headers and row data is displayed in UTF-8 without double encoding --- reports/guided_reports.pl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/reports/guided_reports.pl b/reports/guided_reports.pl index 361c518..d75a72f 100755 --- a/reports/guided_reports.pl +++ b/reports/guided_reports.pl @@ -816,6 +816,7 @@ elsif ($phase eq 'Export'){ if ($format eq 'tab') { $type = 'application/octet-stream'; $content .= join("\t", header_cell_values($sth)) . "\n"; + $content = Encode::decode('UTF-8', $content); while (my $row = $sth->fetchrow_arrayref()) { $content .= join("\t", @$row) . "\n"; } @@ -823,10 +824,10 @@ elsif ($phase eq 'Export'){ my $delimiter = C4::Context->preference('delimiter') || ','; if ( $format eq 'csv' ) { $type = 'application/csv'; - my $csv = Text::CSV::Encoded->new({ encoding_out => 'utf8', sep_char => $delimiter}); + my $csv = Text::CSV::Encoded->new({ encoding_out => 'UTF-8', sep_char => $delimiter}); $csv or die "Text::CSV::Encoded->new({binary => 1}) FAILED: " . Text::CSV::Encoded->error_diag(); if ($csv->combine(header_cell_values($sth))) { - $content .= $csv->string(). "\n"; + $content .= Encode::decode('UTF-8', $csv->string()) . "\n"; } else { push @$q_errors, { combine => 'HEADER ROW: ' . $csv->error_diag() } ; } -- 1.7.10.4