X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=catalogue%2Fshowmarc.pl;h=5e03798d5c16f0c2270c46ea6f126df4cb0fd248;hb=16f1fffdd1f5d1c97db0bf664f83496864b7e24d;hp=bd557e966e7f4e0a4dbd1ca9e0158565f8de6c26;hpb=ef8171ba425f766b67d9e139194b6a8d570e301e;p=koha.git diff --git a/catalogue/showmarc.pl b/catalogue/showmarc.pl index bd557e966e..5e03798d5c 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,10 +78,8 @@ 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 { @@ -87,5 +88,7 @@ $record =GetMarcBiblio($biblionumber) unless $record; my $formatted = $record->as_formatted; $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; }