From f853a57efd1810b6753d29b4b9e9757a09819beb Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Mon, 10 Oct 2011 13:04:34 +0200 Subject: [PATCH] 5616 Follow up patch Content-Type: text/plain; charset="utf-8" Decode data only if needed. Add instruction to use UTF8 in html header. Force utf8 on output handle. --- catalogue/showmarc.pl | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/catalogue/showmarc.pl b/catalogue/showmarc.pl index bd557e9..10533ec 100755 --- a/catalogue/showmarc.pl +++ b/catalogue/showmarc.pl @@ -25,9 +25,12 @@ use strict; #use warnings; FIXME - Bug 2505 +use open OUT=>':utf8', ':std'; + # standard or CPAN modules used use CGI qw(:standard); use DBI; +use Encode; # Koha modules used use C4::Context; @@ -75,17 +78,19 @@ my $style_doc = $parser->parse_file($xslfile); my $stylesheet = $xslt->parse_stylesheet($style_doc); my $results = $stylesheet->transform($source); my $newxmlrecord = $stylesheet->output_string($results); -#warn $newxmlrecord; -print "Content-type: text/html\n\n"; -utf8::encode($newxmlrecord); -print $newxmlrecord; +$newxmlrecord=Encode::decode_utf8($newxmlrecord) unless utf8::is_utf8($newxmlrecord); #decode only if not in perl internal format +print $input->header(-charset => 'UTF-8'), $newxmlrecord; } else { $record =GetMarcBiblio($biblionumber) unless $record; my $formatted = $record->as_formatted; +#$formatted=Encode::decode_utf8($formatted) unless utf8::is_utf8($formatted); +#seems not to be necessary $template->param( MARC_FORMATTED => $formatted ); -output_html_with_http_headers $input, $cookie, $template->output; +my $output= $template->output; +$output=Encode::decode_utf8($output) unless utf8::is_utf8($output); +output_html_with_http_headers $input, $cookie, $output; } -- 1.6.0.6