#######################################################
use Encode qw(encode decode);
use URI::Escape;my $xyz = '%F6ffnen';
my $cba = decode('ISO-8859-1', $xyz);
Das macht hier nichts.
my $abc = encode('UTF-8', decode('ISO-8859-1', $xyz));
Das auch nicht.
#my $fgh = uri_unescape($xyz);
erst das wandelt den kosierten String in eine normale Zeichenkette.
my $fgh = uri_unescape(decode('ISO-8859-1', $xyz));
Das macht hier wieder nichts.
Kann das sein, dass dieser »cas de figure« programmiertechnisch gar nicht vorgesehen ist? Dass man aus einem ISO-URL-endoded-String, oder wie man immer das nennen will, wieder ein UTF8-Dekodierbarer macht?
Natürlich, du musst nur die Reihenfolge richtig angehen.
1. uri_dekodieren
2. umkodieren.
[code lang=perl]my $xyz = '%F6ffnen';
my $fgh = encode('utf-8', uri_unescape($xyz));
print $fgh;
Struppi.