Merge branch 'ready/anarcat/safe_unicode'
commit
ab876a9947
|
@ -110,11 +110,23 @@ sub decode_cgi_utf8 ($) {
|
|||
}
|
||||
}
|
||||
|
||||
sub safe_decode_utf8 ($) {
|
||||
my $octets = shift;
|
||||
# call decode_utf8 on >= 5.20 only if it's not already decoded,
|
||||
# otherwise it balks, on < 5.20, always call it
|
||||
if ($] < 5.02 || !Encode::is_utf8($octets)) {
|
||||
return decode_utf8($octets);
|
||||
}
|
||||
else {
|
||||
return $octets;
|
||||
}
|
||||
}
|
||||
|
||||
sub decode_form_utf8 ($) {
|
||||
if ($] >= 5.01) {
|
||||
my $form = shift;
|
||||
foreach my $f ($form->field) {
|
||||
my @value=map { decode_utf8($_) } $form->field($f);
|
||||
my @value=map { safe_decode_utf8($_) } $form->field($f);
|
||||
$form->field(name => $f,
|
||||
value => \@value,
|
||||
force => 1,
|
||||
|
|
Loading…
Reference in New Issue