Size: a a a

2021 September 03

AF

Alexandre Frolov in Modern::Perl
Сработало вот это:
 $new_ticket_text = encode('cp1251', $new_ticket_text);
источник

VK

Vyacheslav Koval in Modern::Perl
Всем привет! А куда вы складываете интеграционные тесты? Например, модульные тесты у меня находятся в t/, а куда лучше складывать тесты различных АПИ, сайта?
t/integration?
источник

a

allter in Modern::Perl
У меня это в отдельной репе, которая чекаутится скриптом из третьей репы, в которой находится docker-compose с окружением для тестирования интеграций. Таким образом я могу отдельно тестировать интеграции как с песочницами других сервисов, так и с их моками (не завися от других команд).
источник

VK

Vyacheslav Koval in Modern::Perl
понял, спасибо
источник

SZ

Sergey Zhmylove in Modern::Perl
А что там на той линии 255?
источник

AF

Alexandre Frolov in Modern::Perl
my $unicode = decode('UTF-8', $new_ticket_text);
источник

SZ

Sergey Zhmylove in Modern::Perl
Ясно
источник

SZ

Sergey Zhmylove in Modern::Perl
Смотри
источник

SZ

Sergey Zhmylove in Modern::Perl
@PerlBanjoBot $ echo жопа |perl -MEncode -Mwarnings -CSD -lne '$a = decode "UTF-8", $_; print $a'
источник

P

PerlBanjoBot in Modern::Perl
Wide character at -e line 1, <> line 1.
https://PerlBanjo.com/ae13b925d0
источник

SZ

Sergey Zhmylove in Modern::Perl
Так понятнее?
источник

SZ

Sergey Zhmylove in Modern::Perl
Можешь сравнить это с: и сразу станет понятнее
источник

SZ

Sergey Zhmylove in Modern::Perl
@PerlBanjoBot $ echo жопа |perl -MEncode -Mwarnings -COo -lne '$a = decode "UTF-8", $_; print $a'
источник

P

PerlBanjoBot in Modern::Perl
источник

AF

Alexandre Frolov in Modern::Perl
А -CSD и -COo это что за флаги?
источник

SZ

Sergey Zhmylove in Modern::Perl
perldoc perlrun
источник

AF

Alexandre Frolov in Modern::Perl
I     1   STDIN is assumed to be in UTF-8
O     2   STDOUT will be in UTF-8
E     4   STDERR will be in UTF-8
S     7   I + O + E
i     8   UTF-8 is the default PerlIO layer for input streams
o    16   UTF-8 is the default PerlIO layer for output streams
D    24   i + o

Но я не понял, причем тут STDIN и STDOUT, я же работаю не с потоками, а с переменными. Или я чего-то не понимаю?
источник

W

Warstone in Modern::Perl
Вы да. А код который выполняется у Сергея?
источник

IC

Ilya Chesnokov in Modern::Perl
Судя по всему, Redis возвращает вам уже декодированные юникодные символы (characters), и вам не нужно их повторно декодировать - только и всего.
источник

AF

Alexandre Frolov in Modern::Perl
Да, видимо поэтому и достаточно одной строки
$new_ticket_text = encode('cp1251', $new_ticket_text);

А при повторном декодировании, которое я пытался делать сначала, появляются эти сообщения про Wide character
источник