Merge remote branch 'origin/master'
[kivitendo-erp.git] / SL / FCGIFixes.pm
index 2bd312c..6327ffc 100644 (file)
@@ -4,6 +4,7 @@ use strict;
 
 use Encode;
 use FCGI;
+use version;
 
 # FCGI does not use Perl's I/O layer. Therefore it does not honor
 # setting STDOUT to ":utf8" with "binmode".  Also FCGI starting with
@@ -23,7 +24,8 @@ use FCGI;
 # that current I/O operations should be raw.
 
 sub fix_print_and_internal_encoding_after_0_68 {
-  return if version->parse($FCGI::VERSION) <= version->parse("0.68");
+  return if version->new("$FCGI::VERSION")->numify <= version->new("0.68")->numify;
+  return if lc($::lx_office_conf{system}->{dbcharset}) !~ m/^(?:utf-?8|unicode)$/;
 
   my $encoder             = Encode::find_encoding('UTF-8');
   my $original_fcgi_print = \&FCGI::Stream::PRINT;