The script is not quite correct. I suspect if you add "use warnings" you
will see a "Wide character in print" warning, because you are not encoding
your unicode characters to UTF-8 before printing them. However, on the
server where you are seeing the double encoding, perhaps you have a
PERL5OPT environment variable which is setting something like "-CSAD" and
thus encoding all output handles by default (this should not be globally
set, because it can mess with modules that don't expect it like this).

-Dan

On Sat, Oct 6, 2018 at 10:15 AM Alex Povolotsky <tark...@gmail.com> wrote:

> Quite interesting. The simple script
>
> === cut mojolog ===
>
> #!/usr/bin/env perl
> use strict;
> use utf8;
> use Mojo::Log;
> my $log = new Mojo::Log;
> print "Просто принт\n";
> $log->info('тест лога');
> === cut mojolog ===
>
> yields fine results on all my servers but one.
>
> On it, I'm getting
>
> % perl mojolog
> Просто принт
> [Sat Oct  6 15:22:43 2018] [info] �е�� лога
>
> The second line is clearly wrong and seems to be badly encoded. Same
> version of OS, Perl, Mojolicious, same set of environment variables. What
> else could influence unicode processing?
>
> суббота, 6 октября 2018 г., 13:35:48 UTC+3 пользователь Alex Povolotsky
> написал:
>>
>> Hello
>>
>> How do I send UTF-8 constants to Mojo::Log? It forcefully encodes
>> everything so UTF-8 goes with double encoding and unreadable. Trying to
>> decode UTF-8 cat
>>
>> $log->info(decode('UTF-8', 'тест лога'));
>>
>> results in
>>
>> Use of uninitialized value $_[0] in join or string at
>> /usr/local/lib/perl5/site_perl/Mojo/Log.pm line 55.
>>
>> Looks like something is wrong...
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Mojolicious" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to mojolicious+unsubscr...@googlegroups.com.
> To post to this group, send email to mojolicious@googlegroups.com.
> Visit this group at https://groups.google.com/group/mojolicious.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mojolicious+unsubscr...@googlegroups.com.
To post to this group, send email to mojolicious@googlegroups.com.
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.

Reply via email to