use Encode; sub digConvert { my $ref = shift; if (ref $ref eq 'HASH') { foreach (keys %$ref) { $ref->{$_} = digConvert($ref->{$_}); } } elsif (ref $ref eq 'ARRAY') { foreach my $i (0 .. $#{$ref}) { $ref->[$i] = digConvert($ref->[$i]); } } elsif (ref $ref eq '' && $ref) { # don't upset XML parser # problably more to come $ref =~ s/&/&/g; $ref = Encode::encode_utf8($ref); } else { ### something I missed? } return $ref; }
In reply to convert UTF-8 in nested data structures by slayven
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |