in reply to Re^2: Wide characters and UTF8
in thread Wide characters and UTF8
As it happens, the decode_json function expects bytes as input, assuming you haven't done the decoding yet, and then it both decodes UTF-8 and parses JSON at the same time. On the other hand, if you say JSON->new->decode($string) that assumes you provided it with a unicode string.
So in summary:
oropen my $fh, '<', $filename; $bytes= <$fh>; $data= decode_json($bytes);
open my $fh, '<:encoding(UTF-8)', $filename; $chars= <$fh>; $data= JSON->new->decode($chars);
|
|---|