Umlautproblem mit HTMLBody-Attachment [gelöst]

Hilfe zu Znuny Problemen aller Art
Locked
aeterna
Znuny newbie
Posts: 3
Joined: 09 May 2015, 09:50
Znuny Version: 4.0.7

Umlautproblem mit HTMLBody-Attachment [gelöst]

Post by aeterna »

Hallo Zusammen,

ich schreibe ein Modul, welches auf ArticleCreate-Events regiert. Dabei wird unter anderem der HTML-Body des neu erstellten Artikels via E-Mail versendet. Ich verwende Kernel::System::Email->Send().

Dabei tritt folgendes Problem auf: Das Result von $TicketObject->ArticleAttachment() liefert mir zwar den gewünschten HTML-Body zurück; jedoch sind z.B. die Umlaute [ä,ö,ü,etc] falsch codiert. Beispiel: ö -> ö (Großes A mit Tilde gefolgt von einem Absatzzeichen; scheint mir die ISO-8859-1-Darstellung eines utf-8-ö zu sein).

Das HTML-Attachment hole ich wie folgt:

Code: Select all

my %Attachment = $TicketObject->ArticleAttachment(
    ArticleID => $ArticleID,
    FileID => $Article{AttachmentIDOfHTMLBody},
    UserID => $UserID,
}
Wenn ich das Result jetzt ausgebe, werden die Umlaute schon falsch dargestellt. Also, bevor ich es weiterverarbeite bzw. als E-Mail versende. Zum Gegentesten öffne ich in meinem Modul mit DBI - nicht mit DBObject->Connect() - eine neue Datenbankverbindung ohne besondere Einstellungen, hole das Attachment und gebe es aus. In diesem Fall werden die Umlaute korrekt dargestellt. BTW: Hole ich mir anstatt des HTML-Body-Attachments den Content des Artikel als Plaintext via $Article{Body}, gibt es keine Probleme mit der Darstellung.

In der DB sieht der Inhalt von der des HTML-Body z.B. so aus: "<h1>Überschricht</h1>. Also, die Umlaute sind nicht maskiert. Ich denke, dass das Problem entweder bei den OTRS-Einstellungen für den DB-Zugriff liegt oder ich einfach etwas bei der Verwendung des Attachment übersehe, z.B. das Setzen eines Flags, etc. Im Übrigen gibt es sonst keinerlei Probleme mit Umlauten, weder im Frontend, noch, wenn E-Mails von Agenten oder vom System versendet werden.

Einige Hinweise:
  • In OTRS wurden keine Änderungen an der Codierung eingestellt. Alles utf-8.
    Artikel{ContentCharset} ist utf-8.
    Einträge in der DB sind utf-8.
    Arbeitsumgebung ist utf-8.
    DB-Engine ist MySQL.
Zu mir:
OTRS vor ca. einer Woche zum ersten Mal gesehen und installiert. Meine Erfahrungen mit Perl sind rudimentär: Kenne Perl vom Hörensagen :) . Von daher auch die Befürchtung, dass ich etwas übersehe oder falsch mache und das Problem daher rührt. Meine Hauptanlaufstellen sind die OTRS API Reference und OTRS-Quellcode, um zu schauen, wie es dort gemacht wurde.

Für Ideen und Anregungen bin ich wirklich dankbar!

Grüße
Aeterna

-- Nachtrag --
OS: Centos 6.5
Last edited by aeterna on 11 May 2015, 11:33, edited 1 time in total.
aeterna
Znuny newbie
Posts: 3
Joined: 09 May 2015, 09:50
Znuny Version: 4.0.7

Re: Umlautproblem mit HTMLBody-Attachment

Post by aeterna »

Hallo zusammen,

das Problem liegt wohl bei der weiteren Verarbeitung von $Attachment{Content}: Konkatenation mit anderen Strings. Dies geht allerdings nicht aus meiner Beschreibung hervor, da ich das nicht für relevant hielt. Momentan löse ich das Umlaut-Problem mit decode_utf8(), was hervorragend funktioniert. Sollte mir das Thema mal genauer anschauen :)

Jedenfalls: Das Problem ist für mich nun gelöst.

Grüße
Aeterna
Locked