Bug 6554 QA Followup
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Wed, 27 Mar 2013 12:30:16 +0000 (13:30 +0100)
committerJared Camins-Esakov <jcamins@cpbibliography.com>
Mon, 1 Apr 2013 22:51:49 +0000 (18:51 -0400)
Removing binmode, now encoding data in output_with_http_headers.
Replaced output_string by output_as_chars in XSLTParse4Display.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
No errors.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
C4/Output.pm
C4/XSLT.pm

index 458b92f..63acf14 100644 (file)
@@ -298,17 +298,12 @@ sub output_with_http_headers {
         $options->{'Content-Script-Type'} = 'text/javascript';
     }
 
-# We can't encode here, that will double encode our templates, and xslt
-# We need to fix the encoding as it comes out of the database, or when we pass the variables to templates
-#    utf8::encode($data) if utf8::is_utf8($data);
-
     $data =~ s/\&amp\;amp\; /\&amp\; /g;
+    utf8::encode($data);
     print $query->header($options), $data;
 }
 
 sub output_html_with_http_headers {
-    binmode( STDOUT, ":encoding(utf8)" );
     my ( $query, $cookie, $data, $status ) = @_;
     output_with_http_headers( $query, $cookie, $data, 'html', $status );
 }
index bab03bc..dd1967a 100644 (file)
@@ -221,7 +221,8 @@ sub XSLTParse4Display {
         $stylesheet->{$xslfilename} = $xslt->parse_stylesheet($style_doc);
     }
     my $results      = $stylesheet->{$xslfilename}->transform($source);
-    my $newxmlrecord = $stylesheet->{$xslfilename}->output_string($results);
+    my $newxmlrecord = $stylesheet->{$xslfilename}->output_as_chars($results);
+    #no need to decode with UTF-8 in header of XSLT templates: BZ 6554
     return $newxmlrecord;
 }