Mimedecode bei UTF

Hallo,

ich muss eine Zeile mit einer ISO Angabe in ein englisches Format bringen.

Ich habe es schon probiert mit:

use MIME::Words qw(:all);
$Line1 = ‚Subject: =?UTF-8?Q?mitgef=C3=BChl?=‘;
$Line2 = ‚Subject: =?ISO-8859-15?Q?LETTER=23=23K=FCndigung?=‘;
$Line1 = decode_mimewords($Line1);
$Line2 = decode_mimewords($Line2);

print $Line1; Ergebnis: Subject: mitgefühl
print $Line2; Ergebnis: Subject: Kündigung

Bei einer normalen ISO klappt das also und ich kann dann in ue umwandeln fuer die englische Schreibweise.

Aber mit der UTF-decodierung komme ich so nicht hin.

Kann mir da jemand weiterhelfen, wie ich auch UTF-codierten Text richtig lesbar hinbekomme?

Christian

Hallo,

ich muss eine Zeile mit einer ISO Angabe in ein englisches
Format bringen.

Was meinst du mit „englische[m] Format“? Der Begriff ist mir nicht geläufig.

Ich habe es schon probiert mit:

> use MIME::Words qw(:all);  
> $Line1 = 'Subject: =?UTF-8?Q?mitgef=C3=BChl?=';  
> $Line2 = 'Subject: =?ISO-8859-15?Q?LETTER=23=23K=FCndigung?=';  
> $Line1 = decode\_mimewords($Line1);  
> $Line2 = decode\_mimewords($Line2);  
>   
> print $Line1; Ergebnis: Subject: mitgefühl  
> print $Line2; Ergebnis: Subject: Kündigung

Vermutlich klappt die Dekodierung, nicht aber die Ausgabe.

Probier mal so etwas vor dem Print:

binmode STDOUT, ':encoding(UTF-8)';

Wobei du das UTF-8 durch die Zeichenkodierung ersetzen musst, die dein Terminal erwartet.

Zu mehr Hintergrundinformation siehe hier: http://perlgeek.de/de/artikel/charsets-unicode

Grüße,
Moritz

Hallo Moritz, danke fuer die Info!

Mit englischem Format meine ich, dass es da ja z.B. keine Umlaute gibt. Es muesste wahrscheinlich korrekter „im ASCII“ Format heissen.
Also ich benoetige statt dem ü letztendlich ein ue.

Aus Kuendigung eines zu machen ist kein Problem, aber was mache ich mit dem „mitgefühl“?

Es geht auch nicht um die Ausgabe, sondern um die Speicherung.
Mit dem print versuche ich nur festzustellen was da wirklich drinsteht und es laeuft zum Testen auch nur auf der Console.

Christian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Aus Kuendigung eines zu machen ist kein Problem, aber was
mache ich mit dem „mitgefühl“?

Das ist vermutlich als Latin-1 interpretieres UTF-8, also fehlt vermutlich ein Dekodierungsschritt irgendwo.

Lies den Link den ich dir gegeben hab. Lies in nochmal.

Gruesse,
Moritz