Umlaute Fehler in E-Mail Texten

  • Ich habe gerade bemerkt, dass alle Umlaute in den E-Mail-Texten, wenn ich z.B. eine AB an den Kunden schicke, falsch dargestellt werden:


    "Anbei �bersenden wir Ihnen unsere Auftragsbest�tigung."


    Das betrifft alle Texte der Geschäftsbrief-Vorlagen als auch wenn man eigene Texte in die E-Mail schreibt "H�# f�r�€�"


    Ich versende die E-Mails per Authtype "smtp". Viel mehr kann man in den E-Mail Konten ja nicht konfiguriren.


    Alle anderen Texte, wie z.B. die der PDF`s von der AB etc. werden in Beleg korrekt dargestellt.


    VG

    Peter

  • ...das hatte ich probiert mit dem gleichen Ergebnis: "H�# f�r�€�"


    Daher kann es eigentlich auch nicht an "alten" Xentral-Daten aus der Datenbank liegen.


    Ich hätte da eher beim Abschicken solcher E-Mails auf ein Problem mit dem WYSIWYG-Editor getippt.


    Der Text des Test-E-Mail kommt ja entweder aus der Datenbank oder direkt aus dem Code und läuft nicht noch durch den WYSIWYG-Editor.

  • Wenn ich im geöffneten "Abschicken"-Fenster ein bisschen tiefer scrolle, sehe ich ja die zuvor an den Kunden gesandten E-Mails. Man kann dort die alten Anschreiben über den PDF-Button unter "Anschreiben" als PDF öffnen. In diesem PDF werden die auch wieder Umlaute korrekt angezeigt....in der dazugehörigen E-Mail nicht. X/

  • Kannst Du mal bitte folgendes probieren: in der Datei www/lib/class.erpapi.php in der Zeile 25496 einfügen:


    Alt:

    Code
    /*
    * Return 0 = not ok, return 1 = ok
    * $to, $to_name, $cc, $bcc can be csv or arrays
    */
    function MailSendFinal($from,$from_name,$to,$to_name,$betreff,$text,$files="",$projekt="",$signature=true,$cc="",$bcc="", $system = false)
    {
      // keine leeren email versenden


    Neu:



    Das ist nicht die feine Art, aber vielleicht reicht das schon aus.

  • Füge mal diese Zeilen noch davor:

    Code
        print_r(mb_detect_encoding($betreff));
        print_r(mb_detect_encoding($text));

    Dann wird nach dem Versenden oben links die Zeichenformatierung ausgegeben, bei mir kommt da UTF-8, ASCII und die Umlaute kommen korrekt raus. Evtl. steht da bei Dir etwas anderes. Vielleicht liegt es auch an der Serverkonfiguration.


  • Ja, Mist! Mit der originalen OpenXE Datenbank tritt der Fehler nicht auf.


    Ich hatte meine Xentral-Datenbank einfach parallel auf dem Server angelegt, dann in der OpenXE "user.inc.php" die neue Datenbank eingetragen und dann in OpenXE das Datenbankupdate durchgeführt - fertig.


    Da meine Xentral SQL fast 2GB groß ist, hatte ich sie mit MyOOS (Dumper) in die Datenbank geladen.


    Hast Du eine Idee, wo dieses Problem in der Datennbank entstanden sein kann?
    Server-Typ: MariaDBServer-Version: 10.6.12-MariaDB-0ubuntu0.22.04.1-log - Ubuntu 22.04

  • Hmmmm....auch mit der neuen Datenbank taucht das Problem genauso auf.


    An dem Export von Xentral kann ich nichts ändern - seitdem ich in die Cloud zwangsumgezogen wurde. Bin ja froh, dass ich dort überhaupt noch ein Backup erstellt bekomme. Hatte schon von anderen Xentral-Kunden gelesen, dass die Backup-Funktion in neueren Releases nicht mehr funktioniert.


    Somit werde ich dann vermutlich nicht der einzige bleiben, der mit seiner Xentral-Dasi dieses Problem hat.


    MyOOS (Dumper) ist übrigens der Nachfolger von mysqldump, der nämlich nicht mehr mit PHP 8 funktioniert.


    Tja - und nun?? :/

  • Ich konnte bislang keine Fehler in den Daten entdecken, auch nicht in den Adressen.


    Den ErrorLog vom Dumper hatte ich die ja eben schon per E-Mail geschickt.


    Mit der Xentral-Dasi hole ich mir auf jeden Fall jede Menge Müll mit in die Datenbank. Alleine die Daten die zur Amazon-Schnittstelle gehören, sind schon ein riesiger Batzen. Insofern wäre ich auf jeden Fall nicht unglücklich darüber, nur ausgewähle Dateien zu importieren.

  • Moin Alex,


    ich habe eine mögliche Lösung gefunden.


    In der Datei www/lib/class.erpapi.php steht in Zeile 25524


    Code
    /*    $text = htmlspecialchars_decode( 
          htmlentities($text, ENT_NOQUOTES, 'UTF-8', false)
        , ENT_NOQUOTES
        ); */

    Ich habe die Auskommentierung entfernt und siehe da, die Umlaute in den werden korrekt angezeigt.


    Er zeigt mir im Absendefenster zwar immer noch "ASCIIASCII" an aber die E-Mail kommen mit Umlauten korrekt an.


    Hast Du eine Idee, warum dieser Teil auskommentiert wurde?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!