Struppi: Alle guten Dinge sind dreist: Schon wieder Schei? Encoding...

Beitrag lesen

#######################################################

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.