use utf8; use JSON; use Encode qw(encode_utf8); use Text::Unidecode; my $data = qq( { "cat" : "text – abcd “ ’ ” ‘" } ); my $json_data = encode_utf8( $data ); my $perl_hash = decode_json( $json_data ); while ( my($k,$v) = each %$perl_hash ) { unidecode($v); print "$k => $v\n"; }