I'm printing like this: my $octets = 'Быстрая коричневая лиса चाँद पर'; $r->log->warn( $octets ); $r->log->warn( Encode::decode_utf8( $octets ) ); print STDERR $octets;
But what I get in the logs is this: [Tue Sep 23 09:12:07 2014] [warn] [client 10.5.24.82] \xd0\x91\xd1\x8b\xd1\x81\xd1\x82\xd1\x80\xd0\xb0\xd1\x8f \xd0\xba\xd0\xbe\xd1\x80\xd0\xb8\xd1\x87\xd0\xbd\xd0\xb5\xd0\xb2\xd0\xb0\xd1\x8f \xd0\xbb\xd0\xb8\xd1\x81\xd0\xb0 \xe0\xa4\x9a\xe0\xa4\xbe\xe0\xa4\x81\xe0\xa4\xa6 \xe0\xa4\xaa\xe0\xa4\xb0 [Tue Sep 23 09:12:07 2014] [warn] [client 10.5.24.82] \xd0\x91\xd1\x8b\xd1\x81\xd1\x82\xd1\x80\xd0\xb0\xd1\x8f \xd0\xba\xd0\xbe\xd1\x80\xd0\xb8\xd1\x87\xd0\xbd\xd0\xb5\xd0\xb2\xd0\xb0\xd1\x8f \xd0\xbb\xd0\xb8\xd1\x81\xd0\xb0 \xe0\xa4\x9a\xe0\xa4\xbe\xe0\xa4\x81\xe0\xa4\xa6 \xe0\xa4\xaa\xe0\xa4\xb0 Быстрая коричневая лиса चाँद पर So you see (if your mail client allows) bypassing $r->log and printing directly to STDERR works as I'd like. But I'd like to use $r->log for logging. Is this mod_perl doing the mapping? Here's full output and the httpd.conf to reproduce: $ httpd -d $(pwd) -f httpd_perl_sections.conf -k start; tail -f error.log [Tue Sep 23 09:11:56 2014] [notice] Apache/2.2.15 (Unix) mod_perl/2.0.7 Perl/v5.14.2 configured -- resuming normal operations Hey we are here [Tue Sep 23 09:12:07 2014] [warn] [client 10.5.24.82] this is a warning [Tue Sep 23 09:12:07 2014] [warn] [client 10.5.24.82] \xd0\x91\xd1\x8b\xd1\x81\xd1\x82\xd1\x80\xd0\xb0\xd1\x8f \xd0\xba\xd0\xbe\xd1\x80\xd0\xb8\xd1\x87\xd0\xbd\xd0\xb5\xd0\xb2\xd0\xb0\xd1\x8f \xd0\xbb\xd0\xb8\xd1\x81\xd0\xb0 \xe0\xa4\x9a\xe0\xa4\xbe\xe0\xa4\x81\xe0\xa4\xa6 \xe0\xa4\xaa\xe0\xa4\xb0 [Tue Sep 23 09:12:07 2014] [warn] [client 10.5.24.82] \xd0\x91\xd1\x8b\xd1\x81\xd1\x82\xd1\x80\xd0\xb0\xd1\x8f \xd0\xba\xd0\xbe\xd1\x80\xd0\xb8\xd1\x87\xd0\xbd\xd0\xb5\xd0\xb2\xd0\xb0\xd1\x8f \xd0\xbb\xd0\xb8\xd1\x81\xd0\xb0 \xe0\xa4\x9a\xe0\xa4\xbe\xe0\xa4\x81\xe0\xa4\xa6 \xe0\xa4\xaa\xe0\xa4\xb0 Быстрая коричневая лиса चाँद पर $ cat httpd_perl_sections.conf LoadModule perl_module /home/bill/perl5/perlbrew/perls/perl-5.14.2/usr/lib64/httpd/modules/mod_perl.so LoadModule mime_module modules/mod_mime.so ErrorLog error.log TypesConfig /etc/mime.types PidFile apache.pid <Perl> { package Foo; use strict; use warnings; use Apache2::RequestRec; use Apache2::RequestIO; use Encode; my $octets = 'Быстрая коричневая лиса चाँद पर'; sub handler { my $r = shift; print STDERR "Hey we are here\n"; $r->log->warn( 'this is a warning' ); $r->log->warn( $octets ); $r->log->warn( Encode::decode_utf8( $octets ) ); print STDERR $octets; $r->content_type('text/plain'); $r->print( "hello world\n" ); return Apache2::Const::OK(); } } </Perl> Listen 9090 <Directory /> SetHandler modperl PerlResponseHandler Foo </Directory> -- Bill Moseley mose...@hank.org