Re: [Moscow.pm] Mojo::Log и UTF8

2018-10-08 Пенетрантность KES via Moscow-pm
ссылка по теме: 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 дают нормальную

Re: [Moscow.pm] Mojo::Log и UTF8

2018-10-07 Пенетрантность Alex Povolotsky via Moscow-pm
По итогам: use utf8::all; binmode STDERR; Для вывода в stderr дают нормальную работу. То, что пишется в файлы, видимым образом не страдает 06.10.2018 17:33, Ксения Боброва пишет: А куда он пишет, в STDERR или STDOUT? Не пробовали binmode(STDERR,":utf8") и binmode(STDOUT,":utf8") ? сб, 6

Re: [Moscow.pm] Mojo::Log и UTF8

2018-10-06 Пенетрантность Alexander Povolotsky via Moscow-pm
Нет. Никаких других проблем с локалью. 6 октября 2018 г. 17:46:23 GMT+03:00, "Генерал Фейлор via Moscow-pm" пишет: >Других проблем с локалью на сервере не наблюдали? Иероглифы в консоли и >т. >д. Возможно - настройки локали на сервере кривые. Попробуйте >переустановить >локалью. > >сб, 6 окт.

Re: [Moscow.pm] Mojo::Log и UTF8

2018-10-06 Пенетрантность Генерал Фейлор via Moscow-pm
Других проблем с локалью на сервере не наблюдали? Иероглифы в консоли и т. д. Возможно - настройки локали на сервере кривые. Попробуйте переустановить локалью. сб, 6 окт. 2018 г., 16:46 Alex Povolotsky via Moscow-pm : > Добрый день > > Обнаружил, что Mojo::Log у меня не пишет русские буквы > > >

Re: [Moscow.pm] Mojo::Log и UTF8

2018-10-06 Пенетрантность Alex Povolotsky via Moscow-pm
Дальнейшие эксперименты дали совсем странное. use utf8::all; как и use open ':std', ':encoding(UTF-8)'; приводят к тому, что на всех машинах оно ломается и начинает выдавать перекод. Кажется, вот эта строка   $handle->print(encode('UTF-8', $msg)) or croak "Can't write to log: $!"; в

[Moscow.pm] Mojo::Log и UTF8

2018-10-06 Пенетрантность Alex Povolotsky via Moscow-pm
Добрый день Обнаружил, что 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

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-12 Пенетрантность Nikita Zubkov
12 декабря 2012 г., 3:27 пользователь Denis Evdokimov evdokimov.de...@gmail.com написал: И как же Perl узнает, что локаль именно utf8? Мне кажется, что для этого подойдёт LANG=*_*.UTF-8 Совсем не подойдет. Локаль это не только LANG. Там есть еще много интересного. И если в LANG не будет

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Grigory Batalov
В 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? У меня это

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Ivan Petrov
Akzhan Abdulin akzhan.abdu...@gmail.com пишет: А что мешает отдавать не потоки байт, а строки в utf8 в журнал? Т.е. делать везде нет не делать, а работать в utf8 изначально -- Moscow.pm mailing list moscow-pm@pm.org | http://moscow.pm.org

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Ivan Petrov
А что мешает отдавать не потоки байт, а строки в utf8 в журнал? Т.е. делать везде нет не делать, а работать в utf8 изначально Ну, возьмём такой пример: use Mojo::Log; my $log = Mojo::Log-new( path = 'mojo.log' ); open (*FILE, ' nonexistent.txt') or $log-warn(Can't read file: $!);

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Grigory Batalov
В 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: $!); Как получить сообщение Нет такого файла или

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Denis Evdokimov
Как получить сообщение Нет такого файла или каталога в utf8 ? Мне казалось, что выставление локали в utf8 должно решать эту проблему. Ошибаюсь? -- Moscow.pm mailing list moscow-pm@pm.org | http://moscow.pm.org

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Grigory Batalov
В 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

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Nikita Zubkov
Как связана локаль и внутренне представление срок в Perl? 11 декабря 2012 г., 13:14 пользователь Denis Evdokimov evdokimov.de...@gmail.com написал: Как получить сообщение Нет такого файла или каталога в utf8 ? Мне казалось, что выставление локали в utf8 должно решать эту проблему. Ошибаюсь?

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Denis Evdokimov
Как связана локаль и внутренне представление срок в Perl? Мне кажется, что связь такая: Локаль связана с текстом и языком сообщения об ошибке и его кодировке. т.е. если локаль utf8, то все сообщения об ошибках должны приходить в utf8 и перл должен выставлять у этих строк utf-флаг. -- Moscow.pm

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Ivan Petrov
Как получить сообщение Нет такого файла или каталога в utf8 ? Мне казалось, что выставление локали в utf8 должно решать эту проблему. Ошибаюсь? export LANG=ru_RU.UTF-8 ? Нет, не решает. $! независимо ни от чего - raw строка. LANG может повлиять на язык выдачи, но не на юникодность --

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Maxim Vuets
2012/12/11 Denis Evdokimov evdokimov.de...@gmail.com: Локаль связана с текстом и языком сообщения об ошибке и его кодировке. т.е. если локаль utf8, то все сообщения об ошибках должны приходить в utf8 и перл должен выставлять у этих строк utf-флаг Нельзя писать код основываясь на предположении,

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Ruslan Zakirov
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

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Denis Evdokimov
Мне кажется странным, что перл ведёт себя так, как ведёт. 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

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Nikita Zubkov
И как же Perl узнает, что локаль именно utf8? 11 декабря 2012 г., 13:57 пользователь Denis Evdokimov evdokimov.de...@gmail.com написал: Как связана локаль и внутренне представление срок в Perl? Мне кажется, что связь такая: Локаль связана с текстом и языком сообщения об ошибке и его

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Ruslan Zakirov
2012/12/11 Denis Evdokimov evdokimov.de...@gmail.com: Как получить сообщение Нет такого файла или каталога в utf8 ? Мне казалось, что выставление локали в utf8 должно решать эту проблему. Ошибаюсь? Проблема не в locale, а в том что $! - это октеты даже если локаль c UTF-8. Соответственно при

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Grigory Batalov
В 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;' В этом примере $! -

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Ruslan Zakirov
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

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Maxim Vuets
2012/12/11 Denis Evdokimov evdokimov.de...@gmail.com: т.е. у него есть все основания выставить utf8 флаг, а именно: У него нет всех оснований. Во-первых, в корне неверно говорить о выставлении флага. Повторяю: вы не должны рассчитывать на внутреннее представление строк в Перле. Есть два случая:

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность Denis Evdokimov
Проблема не в locale, а в том что $! - это октеты даже если локаль c UTF-8. Именно это меня и удивляет. Т.е. я так и не понял, что и где должно сломаться, если выставлять флаг is_utf8 на строки с сообщением об ошибке(ес-но если локаль UTF-8). И как же Perl узнает, что локаль именно utf8? Мне

Re: [Moscow.pm] Mojo::Log и utf8

2012-12-11 Пенетрантность alpha6
On 12 Dec 2012, at 6:27 AM, Denis Evdokimov evdokimov.de...@gmail.com wrote: Мне кажется, что для этого подойдёт LANG=*_*.UTF-8 Которой нет под виндой (и чем-нибудь экзотическим) и мы опять получаем неоднозначное поведение скрипта. С уважением, Денис Федосеев -- Moscow.pm mailing list

[Moscow.pm] Mojo::Log и utf8

2012-12-10 Пенетрантность Grigory Batalov
Всем привет! Кто-нибудь сталкивался с кракозябами в логах mojo? У меня это происходит следующим образом: система выдаёт ошибку, я её ловлю и записываю в журнал. Предполагаю, что строка с ошибкой является потоком байт, а mojo считает, что все строки - в utf8, и записывает примерно так: