diff --git a/src/core/IO/Socket.pm b/src/core/IO/Socket.pm index 2afad0a1305..0c7366725c6 100644 --- a/src/core/IO/Socket.pm +++ b/src/core/IO/Socket.pm @@ -7,8 +7,11 @@ my role IO::Socket { if $!buffer.chars < $chars { my str $r = $!PIO.recv; - $r = pir::trans_encoding__Ssi($r, - pir::find_encoding__Is('utf8')); + try { + my Mu $bb := pir::new__Ps('ByteBuffer'); + pir::set__vPs($bb, $r); + $r = $bb.get_string(PARROT_ENCODING('utf8')); + } $!buffer ~= nqp::p6box_s($r); }