X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FFCGIFixes.pm;h=62f4a934e25a65ad29637e250cf4b0656c1cdb3a;hb=f05bd96b031d7d4ffaf4804704684ae929a0890a;hp=d341f4a975c03628d45866bc8781f3e65d1e3e13;hpb=87ad1737166b8eb5ec26ec3ab27f686bdf4d3679;p=kivitendo-erp.git diff --git a/SL/FCGIFixes.pm b/SL/FCGIFixes.pm index d341f4a97..62f4a934e 100644 --- a/SL/FCGIFixes.pm +++ b/SL/FCGIFixes.pm @@ -10,7 +10,7 @@ use version; # setting STDOUT to ":utf8" with "binmode". Also FCGI starting with # 0.69 implements proper handling for UTF-8 flagged strings -- namely # by downgrading them into bytes. The combination of the two causes -# Lx-Office's way of handling strings to go belly up (storing +# kivitendo's way of handling strings to go belly up (storing # everything in Perl's internal encoding and using Perl's I/O layer # for automatic conversion on output). # @@ -25,7 +25,6 @@ use version; sub fix_print_and_internal_encoding_after_0_68 { return if version->new("$FCGI::VERSION")->numify <= version->new("0.68")->numify; - return if lc($::dbcharset) !~ m/^(?:utf-?8|unicode)$/; my $encoder = Encode::find_encoding('UTF-8'); my $original_fcgi_print = \&FCGI::Stream::PRINT; @@ -35,7 +34,7 @@ sub fix_print_and_internal_encoding_after_0_68 { *FCGI::Stream::PRINT = sub { if (!$::locale || !$::locale->raw_io_active) { my $self = shift; - my @vals = map { $encoder->encode($_, Encode::FB_CROAK|Encode::LEAVE_SRC) } @_; + my @vals = map { $encoder->encode("$_", Encode::FB_CROAK|Encode::LEAVE_SRC) } @_; @_ = ($self, @vals); }