Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]440[/thread]

Umlaute in Emails



<< >> 10 Einträge, 1 Seite
thdillinger
 2005-02-21 13:17
#4449 #4449
User since
2005-02-21
4 Artikel
BenutzerIn
[default_avatar]
Hallo,
bei der Abfrage eines Pop3-Kontos via Perl habe ich Probleme mit Umlauten im Betreff, es wird z.B. folgende Zeile angezeigt:

"=?iso-8859-1?Q?test_mit_3_Anh=E4ngen_01?="
anstatt
"test_mit_3_Anhängen".

Woran könnte das liegen, bzw. wie kann ich das umgehen?
Danke und mfg
Thomas Dillinger
esskar
 2005-02-21 13:29
#4450 #4450
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
das ist kein bug sondern definitiv ein feature.
sowas nennt sich encoding, du kannst es folgendermaßen auflösen

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use strict;
use MIME::WordDecoder;

sub decode_words {
  my $value = shift || "";
  my $wd = default MIME::WordDecoder;

  eval q{require Encode; $value = Encode::decode('MIME-Header', $value);}; # falls kein Enocde vorhanden

  $wd->handler("BIG5" => "KEEP");

  $wd->handler("WINDOWS-1250" => "KEEP");
  $wd->handler("WINDOWS-1251" => "KEEP");
  $wd->handler("WINDOWS-1252" => "KEEP");
  $wd->handler("WINDOWS-1253" => "KEEP");
  $wd->handler("WINDOWS-1254" => "KEEP");
  $wd->handler("WINDOWS-1255" => "KEEP");
  $wd->handler("WINDOWS-1256" => "KEEP");
  $wd->handler("WINDOWS-1257" => "KEEP");
  $wd->handler("WINDOWS-1258" => "KEEP");    

  my $decoded = "";
  eval { $decoded = $wd->decode($value); };
    
  my $retval = $decoded ? $decoded : $value;    
  return ($retval);
}

my $subject = "=?iso-8859-1?Q?test_mit_3_Anh=E4ngen_01?=";

print decode_words($subject);
\n\n

<!--EDIT|esskar|1108985394-->
esskar
 2005-02-21 13:31
#4451 #4451
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
wenn du es wieder erzeugen willst

Code: (dl )
1
2
3
4
5
6
7
8
use MIME::Words ();

sub encode_words {
  my $value = shift;
  return ($value ? MIME::Words::encode_mimewords($value) : "");
}

print encode_words("test_mit_3_Anhängen");
\n\n

<!--EDIT|esskar|1108985526-->
esskar
 2005-02-21 13:34
#4452 #4452
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=thdillinger,21.02.2005, 12:17]"=?iso-8859-1?Q?test_mit_3_Anh=E4ngen_01?="
anstatt
"test_mit_3_Anhängen".[/quote]
aber eigentlich ist es "falsch"
richtig wäre
Code: (dl )
test_mit_3_=?ISO-8859-1?Q?Anh=84ngen?=
renee
 2005-02-21 13:44
#4453 #4453
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@esskar: Warum machst Du ein eval??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
ptk
 2005-02-21 14:30
#4454 #4454
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=esskar,21.02.2005, 12:34][quote=thdillinger,21.02.2005, 12:17]"=?iso-8859-1?Q?test_mit_3_Anh=E4ngen_01?="
anstatt
"test_mit_3_Anhängen".[/quote]
aber eigentlich ist es "falsch"
richtig wäre
Code: (dl )
test_mit_3_=?ISO-8859-1?Q?Anh=84ngen?=
[/quote]
Warum "falsch"? Muss der encodete Teil minimal sein?
thdillinger
 2005-02-21 15:08
#4455 #4455
User since
2005-02-21
4 Artikel
BenutzerIn
[default_avatar]
Vielen Dank, funktioniert!
esskar
 2005-02-21 15:31
#4456 #4456
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=renee,21.02.2005, 12:44]@esskar: Warum machst Du ein eval??[/quote]
weil mir das modul schon ein paar mal um die ohren geflogen ist.
esskar
 2005-02-21 15:32
#4457 #4457
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=ptk,21.02.2005, 13:30]Warum "falsch"? Muss der encodete Teil minimal sein?[/quote]
deswegen falsch in anführunsgzeichen.
esskar
 2005-02-21 15:35
#4458 #4458
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
die lösung ist eh noch lange nicht perfekt; hatte noch keine zeit alle encodings zu testen; die, die nicht funzen, hab ich dann einfach auf KEEP gesetzt! aber für gängige sachen läufts; encodings von spam mails sind nicht wirklich gut!
<< >> 10 Einträge, 1 Seite



View all threads created 2005-02-21 13:17.