ссылка по теме: https://stackoverflow.com/questions/6162484/why-does-modern-perl-avoid-utf-8-by-default возможно пригодится07.10.2018, 10:57, "Alex Povolotsky via Moscow-pm" :
По итогам:
use utf8::all;
binmode STDERR;
Для вывода в stderr дают нормальную
По итогам:
use utf8::all;
binmode STDERR;
Для вывода в stderr дают нормальную работу.
То, что пишется в файлы, видимым образом не страдает
06.10.2018 17:33, Ксения Боброва пишет:
А куда он пишет, в STDERR или STDOUT?
Не пробовали binmode(STDERR,":utf8") и binmode(STDOUT,":utf8") ?
сб, 6
Нет. Никаких других проблем с локалью.
6 октября 2018 г. 17:46:23 GMT+03:00, "Генерал Фейлор via Moscow-pm"
пишет:
>Других проблем с локалью на сервере не наблюдали? Иероглифы в консоли и
>т.
>д. Возможно - настройки локали на сервере кривые. Попробуйте
>переустановить
>локалью.
>
>сб, 6 окт.
Других проблем с локалью на сервере не наблюдали? Иероглифы в консоли и т.
д. Возможно - настройки локали на сервере кривые. Попробуйте переустановить
локалью.
сб, 6 окт. 2018 г., 16:46 Alex Povolotsky via Moscow-pm :
> Добрый день
>
> Обнаружил, что Mojo::Log у меня не пишет русские буквы
>
>
>
Дальнейшие эксперименты дали совсем странное.
use utf8::all;
как и
use open ':std', ':encoding(UTF-8)';
приводят к тому, что на всех машинах оно ломается и начинает выдавать
перекод.
Кажется, вот эта строка
$handle->print(encode('UTF-8', $msg)) or croak "Can't write to log: $!";
в
Добрый день
Обнаружил, что Mojo::Log у меня не пишет русские буквы
=== cut mojolog ===
#!/usr/bin/env perl
use strict;
use utf8;
use Mojo::Log;
my $log = new Mojo::Log;
print "Просто принт\n";
$log->info('тест лога');
=== cut mojolog ===
% perl mojolog
Просто принт
[Sat Oct 6 15:22:43
12 декабря 2012 г., 3:27 пользователь Denis Evdokimov
evdokimov.de...@gmail.com написал:
И как же Perl узнает, что локаль именно utf8?
Мне кажется, что для этого подойдёт LANG=*_*.UTF-8
Совсем не подойдет.
Локаль это не только LANG. Там есть еще много интересного.
И если в LANG не будет
В Mon, 10 Dec 2012 21:22:34 +0400
Akzhan Abdulin akzhan.abdu...@gmail.com пишет:
А что мешает отдавать не потоки байт, а строки в utf8 в журнал?
Т.е. делать везде
utf8::decode($err) unless utf8::is_utf8 $err;
$log-warn($err);
?
Кто-нибудь сталкивался с кракозябами в логах mojo?
У меня это
Akzhan Abdulin akzhan.abdu...@gmail.com пишет:
А что мешает отдавать не потоки байт, а строки в utf8 в журнал?
Т.е. делать везде
нет не делать, а работать в utf8 изначально
--
Moscow.pm mailing list
moscow-pm@pm.org | http://moscow.pm.org
А что мешает отдавать не потоки байт, а строки в utf8 в журнал?
Т.е. делать везде
нет не делать, а работать в utf8 изначально
Ну, возьмём такой пример:
use Mojo::Log;
my $log = Mojo::Log-new( path = 'mojo.log' );
open (*FILE, ' nonexistent.txt') or $log-warn(Can't read file: $!);
В Tue, 11 Dec 2012 15:42:39 +0400
Ivan Petrov i.petro.77...@gmail.com пишет:
Ну, возьмём такой пример:
use Mojo::Log;
my $log = Mojo::Log-new( path = 'mojo.log' );
open (*FILE, ' nonexistent.txt') or $log-warn(Can't read file:
$!);
Как получить сообщение Нет такого файла или
Как получить сообщение Нет такого файла или каталога в utf8 ?
Мне казалось, что выставление локали в utf8 должно решать эту проблему.
Ошибаюсь?
--
Moscow.pm mailing list
moscow-pm@pm.org | http://moscow.pm.org
В Tue, 11 Dec 2012 15:14:52 +0300
Denis Evdokimov evdokimov.de...@gmail.com пишет:
Как получить сообщение Нет такого файла или каталога в utf8 ?
Мне казалось, что выставление локали в utf8 должно решать эту
проблему. Ошибаюсь?
export LANG=ru_RU.UTF-8 ? Нет, не решает.
--
Moscow.pm mailing
Как связана локаль и внутренне представление срок в Perl?
11 декабря 2012 г., 13:14 пользователь Denis Evdokimov
evdokimov.de...@gmail.com написал:
Как получить сообщение Нет такого файла или каталога в utf8 ?
Мне казалось, что выставление локали в utf8 должно решать эту проблему.
Ошибаюсь?
Как связана локаль и внутренне представление срок в Perl?
Мне кажется, что связь такая:
Локаль связана с текстом и языком сообщения об ошибке и его кодировке.
т.е. если локаль utf8, то все сообщения об ошибках должны приходить в utf8
и перл должен выставлять у этих строк utf-флаг.
--
Moscow.pm
Как получить сообщение Нет такого файла или каталога в utf8 ?
Мне казалось, что выставление локали в utf8 должно решать эту
проблему. Ошибаюсь?
export LANG=ru_RU.UTF-8 ? Нет, не решает.
$! независимо ни от чего - raw строка.
LANG может повлиять на язык выдачи, но не на юникодность
--
2012/12/11 Denis Evdokimov evdokimov.de...@gmail.com:
Локаль связана с текстом и языком сообщения об ошибке и его кодировке.
т.е. если локаль utf8, то все сообщения об ошибках должны приходить в utf8 и
перл должен выставлять у этих строк utf-флаг
Нельзя писать код основываясь на предположении,
2012/12/11 Grigory Batalov gri...@gmail.com:
В Tue, 11 Dec 2012 14:38:49 +0400
Ivan Petrov i.petro.77...@gmail.com пишет:
А что мешает отдавать не потоки байт, а строки в utf8 в журнал?
Т.е. делать везде
нет не делать, а работать в utf8 изначально
Ну, возьмём такой пример:
use
Мне кажется странным, что перл ведёт себя так, как ведёт.
perl -we'use utf8; print $ENV{LANG}\n; open(my $FH, non/exist/file);
print [,utf8::is_utf8($!), ]\n; print $!\n;'
Вывод:
ru_RU.UTF-8
[]
Нет такого файла или каталога
т.е. у него есть все основания выставить utf8 флаг, а именно:
1. use
И как же Perl узнает, что локаль именно utf8?
11 декабря 2012 г., 13:57 пользователь Denis Evdokimov
evdokimov.de...@gmail.com написал:
Как связана локаль и внутренне представление срок в Perl?
Мне кажется, что связь такая:
Локаль связана с текстом и языком сообщения об ошибке и его
2012/12/11 Denis Evdokimov evdokimov.de...@gmail.com:
Как получить сообщение Нет такого файла или каталога в utf8 ?
Мне казалось, что выставление локали в utf8 должно решать эту проблему.
Ошибаюсь?
Проблема не в locale, а в том что $! - это октеты даже если локаль c
UTF-8. Соответственно при
В Tue, 11 Dec 2012 19:34:30 +0300
Denis Evdokimov evdokimov.de...@gmail.com пишет:
Мне кажется странным, что перл ведёт себя так, как ведёт.
perl -we'use utf8; print $ENV{LANG}\n; open(my $FH,
non/exist/file); print [,utf8::is_utf8($!), ]\n; print $!\n;'
В этом примере $! -
2012/12/11 Grigory Batalov gri...@gmail.com:
В Tue, 11 Dec 2012 19:34:30 +0300
Denis Evdokimov evdokimov.de...@gmail.com пишет:
Мне кажется странным, что перл ведёт себя так, как ведёт.
Все задокументировано.
perl -we'use utf8; print $ENV{LANG}\n; open(my $FH,
non/exist/file); print
2012/12/11 Denis Evdokimov evdokimov.de...@gmail.com:
т.е. у него есть все основания выставить utf8 флаг, а именно:
У него нет всех оснований. Во-первых, в корне неверно говорить о
выставлении флага. Повторяю: вы не должны рассчитывать на внутреннее
представление строк в Перле. Есть два случая:
Проблема не в locale, а в том что $! - это октеты даже если локаль c
UTF-8.
Именно это меня и удивляет.
Т.е. я так и не понял, что и где должно сломаться, если выставлять флаг
is_utf8 на строки с сообщением об ошибке(ес-но если локаль UTF-8).
И как же Perl узнает, что локаль именно utf8?
Мне
On 12 Dec 2012, at 6:27 AM, Denis Evdokimov evdokimov.de...@gmail.com wrote:
Мне кажется, что для этого подойдёт LANG=*_*.UTF-8
Которой нет под виндой (и чем-нибудь экзотическим) и мы опять получаем
неоднозначное поведение скрипта.
С уважением,
Денис Федосеев
--
Moscow.pm mailing list
Всем привет!
Кто-нибудь сталкивался с кракозябами в логах mojo?
У меня это происходит следующим образом: система выдаёт ошибку,
я её ловлю и записываю в журнал. Предполагаю, что строка с ошибкой
является потоком байт, а mojo считает, что все строки - в utf8,
и записывает примерно так:
27 matches
Mail list logo