> p6 -MURI -e 'sub MAIN($str) {; say URI.new($str) }' 'http://127.0.0.1:1234/echo2/☃'
Could not parse URI: http://127.0.0.1:1234/echo2/☃
in method parse at /home/martin/.rakudobrew/moar-2017.09/install/share/perl6/site/sources/791F2CA877C73A01F6D9BE0FAB586D948EA58B54 (URI) line 46
in method new at /home/martin/.rakudobrew/moar-2017.09/install/share/perl6/site/sources/791F2CA877C73A01F6D9BE0FAB586D948EA58B54 (URI) line 130
in sub MAIN at -e line 1
in block <unit> at -e line 1
As far as I understood the URI itself doesn't contain "fancy chars" in it, but what about allowing the constructor to decode them first?
For Example, URI of perl5 does handle this issue: