Zeichensatz Betrachter Problem

  • Ich habe seit einiger Zeit ein Darstellungsproblem das ich leider nicht auf Anhieb reproduzieren kann.

    In diesem Thread wurde ein ähnliches Problem beim Erstellen von Nachrichten diskutiert. Ich habe das Problem aber beim Betrachten von HTML/Text Mails.


    Die Standard-Voreinstellung des Zeichensatz muss immer wieder neu definiert werden.

    Ich habe ein Profil angelegt indem ich nur einen Zeichensatz (ISO-8859-1) ausgewählt habe. Das Profil wird auch angewendet (siehe Screenshot) doch wenn man unter 'Zeichensatz' schaut, ist dennoch kein Zeichensatz ausgewählt.



    Wenn ich in dieser Mail, welche nicht korrekt dargestellt wird, dann im Kontextmenü Zeichensatz » Systemstandard auswähle gibt es keine Änderung.
    Wenn ich den korrekten Zeichensatz auswähle (ISO-8859-1), und anschließend auf 'als Voreinstellung festlegen' gehe, gibt es keinerlei Rückmeldung - der Haken wird gesetzt.

    Die Mail wird nach Auswahl von ISO-8859-1 korrekt angezeigt, und der ausgewählte Zeichensatz bleibt für diese Mail auch nach einem Neustart gespeichert.

    Es kommen aber vom selben Absender Mails in gleicher Form bei denen der Zeichensatz wieder nicht erkannt wird. Seltsamerweise werden diese Mail hin und wieder dennoch korrekt dargestellt. egal ob ein Profil, oder der Systemstandard unter 'Betrachter-Profil' ausgewählt wurde. Auch in diesen Mails ist unter 'Zeichensatz' nirgends ein Haken gesetzt.

    w7, 64bit, TB! v7.4.17. 32bit
    Exchange Konto, im Hintergrund läuft Outlook

    Mir scheint das die Zeichensatz-Voreinstellung irgendwie einen Bug hat.

  • Es kommen aber vom selben Absender Mails in gleicher Form bei denen der Zeichensatz wieder nicht erkannt wird.

    Es kann sein, dass in der empfangenen eMail ein falscher Zeichensatz definiert ist. Das ist wie bei Webseiten. Wenn im HTML-Code ein Zeichensatz steht, muss der Browser ihn nehmen, selbst wenn er falsch ist. TB! nimmt deswegen ebenfalls das, was in der Mail steht.

    Suche im Quelltext der Nachricht nach Content-Type: text/html; charset=... und/oder nach <meta http-equiv="Content-Type" content="text/html; charset=...">. Wenn dort anstelle der Auslassungspunkte weder ISO-8859-1 noch ein äquivalenter Zeichensatz steht, dann werden auch keine Umlaute etc. angezeigt. Dann muss man den Zeichensatz immer manuell ändern. Aber wie du bereits geschrieben hast, merkt sich TB! wenigstens den manuell gesetzten Zeichensatz nach dem Programmneustart.

    Du kannst auch dem Absender mitteilen, dass er nachschauen soll, welchen Zeichensatz er bzw. sein MUA setzt, und ihn vor dem Versenden ändern. TB! z.B. reagiert in dieser Hinsicht manchmal auch eigenwillig und verwendet US-ASCII. Dazu habe ich im BT sogar einen Eintrag erstellt - #0000766: After encrypting entire text the predefined character set is changed automatically to US-ASCII. Abhilfe schafft nur die Option "Benutzerdefinierten Zeichensatz für Nicht-ASCII-Nachrichten verwenden" in den Kontoeigenschaften.

    Und so viel ich noch weiß, gelten die Betrachter-Profile nur für die gerade laufende Programm-Session. Nach dem Programmneustart wird wieder das Standardprofil angewandt.


    TB! v7.4.17.

    Gemeint ist wahrscheinlich v7.4.16.7.

  • 7.4.16.7 gibt es nicht als Final. Sowas gehört dann in den Beta-Thread.
    Therapieplätze nur für Finals.

    Ich hänge mal an.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Ich habe das Problem auch mit den vorherigen Finals, ich hätte auch irgend etwas anders in den Bertreff schreiben können. Leider kann ich erst wieder nächste Woche die Anmerkungen von Sanyo testen...

    PS. Ich halte den Eintrag hier in der Beta nicht für sinnvoll da es nicht um die Beta Version geht. Ich teste die Betas zur Zeit nur, in der Hoffnung das sich da irgendetwas am Verhalten des Zeichensatz ändert. Therapieplatz Version 7.x fand ich da schon richtig

  • Die falsche Darstellung betrifft nicht nur einen bestimmten Absender, immer wieder kommen Mails rein bei denen der Zeichesnsatz nicht korrekt dargestellt wird.

    In allen Mails ist ein Zeichensatz definiert, TB! erkennt ihn anscheinend nicht richtig, oder setzt den Standard-Zeichensatz nicht korrekt.


    Hier ist der HTML Quell-Code von Mails bei denen der Zeichensatz nicht richtig gesetzt wird. Es gibt aber auch Mails vom gleichen Absender, mit dem selben Quell-Code wo die Mail korrekt angezeigt wird.

    Code
    <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
    <meta name="Generator" content="Microsoft Exchange Server">

    oder mal ein HTML-Code von einem anderen Absender, auch hier wird der Zeichensatz nicht korrekt gewählt - hin und wieder.

    Code
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
    <META NAME="Generator" CONTENT="MS Exchange Server version 14.02.5004.000">
    Code
    Content-Type: multipart/alternative; boundary="----------02D01200D23541716"
  • immer wieder kommen Mails rein bei denen der Zeichesnsatz nicht korrekt dargestellt wird.

    Sind das alles Multipart-Nachrichten, also HTML und Text?

    Bei Multipart müsste es nochmals Content-Type: ... geben, und zwar in deinem Fall gleich nach der eigenständigen Zeile ----------02D01200D23541716. Welcher Zeichensatz steht dort?

    Und was steht bei dir unter "Ansicht | Zeichensatz"? Wie ich bereits geschrieben habe, wird das Betrachter-Profil nach dem Programmneustart wieder auf Standard zurückgesetzt. Der manuell gewählte Zeichensatz unter "Ansicht" bleibt aber erhalten. Am besten verfährt man mit UTF-8. Zusätzlich kann man noch auf "Als Voreinstellung festlegen" klicken.

  • Sind das alles Multipart-Nachrichten, also HTML und Text?


    Ja

    Bei Multipart müsste es nochmals Content-Type: ... geben, und zwar in deinem Fall gleich nach der eigenständigen Zeile ----------02D01200D23541716. Welcher Zeichensatz steht dort?


    Mehr steht dort nicht


    Kopfzeilenansicht 'TEXT'

    Quellcode des HTML Teils

    Und was steht bei dir unter "Ansicht | Zeichensatz"? Wie ich bereits geschrieben habe, wird das Betrachter-Profil nach dem Programmneustart wieder auf Standard zurückgesetzt. Der manuell gewählte Zeichensatz unter "Ansicht" bleibt aber erhalten. Am besten verfährt man mit UTF-8. Zusätzlich kann man noch auf "Als Voreinstellung festlegen" klicken.


    Dort ist nie ein Zeichensatz ausgewählt. Daher meine Vermutung das der Standardzeichensatz nicht korrekt abgespeichert wird.
    Wenn ich ihn aber einmal manuell ausgewählt habe, bleibt er gespeichert und die Mail wird auch nach einem kompletten Neustart korrekt angezeigt.

    In der jetzigen Mail wurde z.B. auch das Profil nicht gesetzt. Ausgewählt war Standardprofil. Auch die Änderung auf 'Profil #1' bewirkt keine Änderung der Anzeige, erst wenn ich den Zeichensatz manuell auswähle wird die Mail korrekt angeziegt.

    PS. So sieht die Mail aus wenn ich den Zeichensatz auf automatisch Erkennung verwenden umschalte

    Update:
    Ich sehe gerade das die falsche Darstellung nur den HTMLTeil betrifft, der Rein-Text Teil wird korrekt dargestellt.

    2 Mal editiert, zuletzt von sanyok (10. Mai 2017 um 13:13) aus folgendem Grund: Update eingefügt und den Doppel-Post gelöscht.

  • Mehr steht dort nicht

    Vielleicht ist das das Problem. TB! kann wahrscheinlich den gesetzten Zeichensatz nicht aus dem HTML-Tag <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"> auslesen, sondern braucht eine Mail-konforme Zeile Content-Type: text/html; charset=Windows-1252 aus dem Nachrichtenkopf. Diese müsste eigentlich vorhanden sein. Eine Multipart-Nachricht sieht normalerweise so aus:

    Code
    Content-Type: multipart/alternative;
            boundary="----------0CA19513222F949F0"


    Ganz oben steht also, dass es eine Multipart-Nachricht ist. Dann kommt z.B. der Text-Part, der so beginnt:

    Code
    ------------0CA19513222F949F0
    Content-Type: text/plain; charset=UTF-8

    Mit dem "Content-Type" wird also angesagt, dass jetzt der Text-Part kommt, und mit "Charset", welcher Zeichensatz dafür verwendet werden soll. Nach dem Text-Part kommt weiter im Quelltext der HTML-Part, der so beginnt:

    Code
    ------------0CA19513222F949F0
    Content-Type: text/html; charset=UTF-8


    Wiederum mit dem "Content-Type" wird angesagt, dass jetzt der HTML-Part kommt, und mit "Charset", welcher Zeichensatz dafür verwendet werden soll.

    Du kannst selbst mit TB! eine HTML und Text-Nachricht erstellen. Dann wirst du im deren Quelltext sehen, wie eine Multipart-Nachricht richtig aufgebaut sein muss. Wenn das alles in der empfangenen Nachricht fehlt, dann kann natürlich TB! nicht wissen, welchen Zeichensatz er für welchen Part verwenden soll. Die Schuld liegt aber beim Absender bzw. seinem MUA.

    Wenn du den HTML-Betrachter auf IE setzt, dann wird wahrscheinlich auch der HTML-Part der Nachricht richtig angezeigt. Das liegt daran, dass IE als Browser den o.g. HTML-Tag ausliest und den richtigen Zeichensatz verwendet. TB! ist aber kein Browser und braucht deswegen bei einer Nachricht einen richtigen Nachrichtenkopf. Wenn Charset im HTML-Code fehlen würde, würde ein Browser eine Webseite oder HTML-Mail wahrscheinlich auch teilweise falsch anzeigen.


    Dort ist nie ein Zeichensatz ausgewählt.

    Nachdem ich dort UTF-8 gewählt habe, bleibt dieser Zeichensatz auch nach dem Programmneustart aktiviert und wird wohl als Standard auf alle Nachrichten angewandt. Dort wird nicht der Zeichensatz aus der Mail angezeigt, sondern der, den du selbst wählst. Und im Gegensatz zum Betrachter-Profil bleibt er auch nach dem Neustart aktiviert.


    Wenn ich ihn aber einmal manuell ausgewählt habe, bleibt er gespeichert und die Mail wird auch nach einem kompletten Neustart korrekt angezeigt.

    Jetzt hast du TB! gezeigt, welchen Zeichensatz er für diese Nachricht verwenden soll. Das hat er sich gemerkt.


    In der jetzigen Mail wurde z.B. auch das Profil nicht gesetzt. Ausgewählt war Standardprofil. Auch die Änderung auf 'Profil #1' bewirkt keine Änderung der Anzeige, erst wenn ich den Zeichensatz manuell auswähle wird die Mail korrekt angeziegt.

    Hast du im "Profil #1" den richtigen Zeichensatz definiert?

  • <meta name="Generator" content="Microsoft Exchange Server">


    Wahrscheinlich liegt es am nicht richtig konfigurierten Exchange. Ist bekannt, ob die Nachricht damit oder doch mit OL erstellt und über Exchange lediglich versandt wird?

    Ich habe mir jedenfalls jetzt eine mit OL erstellte und über Exchange versandte Multipart-Nachricht angeschaut und sie ist richtig aufgebaut:


  • Nachdem ich dort UTF-8 gewählt habe, bleibt dieser Zeichensatz auch nach dem Programmneustart aktiviert und wird wohl als Standard auf alle Nachrichten angewandt. Dort wird nicht der Zeichensatz aus der Mail angezeigt, sondern der, den du selbst wählst. Und im Gegensatz zum Betrachter-Profil bleibt er auch nach dem Neustart aktiviert.

    Bei mir halt nicht. :(


    Wenn du den HTML-Betrachter auf IE setzt, dann wird wahrscheinlich auch der HTML-Part der Nachricht richtig angezeigt.


    Leider nein, keine Änderung hier.


    Hast du im "Profil #1" den richtigen Zeichensatz definiert?


    Ja. dort habe ich nur ISO-8859-1 definiert.

    Gerade kommt eine Mail von einem anderen Absender rein.
    Falsche Darstellung trotz automatisch definiertem/erkannten/von TB! gesetztem Zeichensatz UTF-8. Die Darstellung wird erst korrektt dargestellt wenn ich manuell auf Latin-1 umstelle.

    Ich vermute das die Standardeinstellung für den Zeichensatz nicht korrekt abgespeichert wird. Leider weiß ich nicht genau wo TB! das abspeichert. In der Registry sind zwar ein paar XLT Werte, aber diese verändern sich nicht beim Wechsel.

  • Falsche Darstellung trotz automatisch definiertem/erkannten/von TB! gesetztem Zeichensatz UTF-8. Die Darstellung wird erst korrektt dargestellt wenn ich manuell auf Latin-1 umstelle.

    Wenn die Mail ISO-8859-1 erfordert, dann ist UTF-8 natürlich falsch. Fehlt bei dieser Mail ebenfalls Charset im Nachrichtenkopf? Dann ist die Mail "defekt" und es liegt an ihr und nicht an TB!. Worin das Problem besteht, habe ich bereits oben beschrieben.


    Ich vermute das die Standardeinstellung für den Zeichensatz nicht korrekt abgespeichert wird.

    Die Standardeinstellung nützt dir nichts, wenn der Zeichensatz in der Mail nicht definiert ist und der Standardzeichensatz nicht dem dieser Mail entspricht. TB! schaut also zuerst nach, ob Charset vorhanden ist. Wenn nicht, wird der Standardzeichensatz verwendet, hier also UTF-8. Bei einer ISO-8859-1 oder Windows-1252 Mail wird es damit aber Darstellungsprobleme geben. Wenn du den richtigen Zeichensatz für die betreffende Mail selbst wählst, dann wird er wohl zusammen mit der Mail in MESSAGES.TBB gespeichert.


  • Ich wüsste gerne wo die Definition des Standardzeichensatz abgespeichert wird, nicht der Zeichensatz den ich manuell aktiviere - dieser wird ja korrekt beim Neustart wieder geladen.

    Wenn ohne mein Zutun UTF-8 geladen wird, muss dies ja irgendwo hinterlegt sein. Dort würde ich gerne manuell 8859-1 eintragen.

  • Wähle "Westeuropäisch (Latin-1 ISO)" und klicke auf "Als Voreinstellung festlegen". Dann wird das dein Standardzeichensatz in TB!

    ich öffnen diesen Thread noch mal, weil ich auch nach einem Jahr das Problem noch nicht im Griff habe. :S


    Der Tipp "klicke auf "Als Voreinstellung festlegen". Dann wird das dein Standardzeichensatz " funktioniert einfach nicht, erst wird nichts gespeichert.

    Mittlerweile komme ich am besten klar wenn ich auf Westeuropäisch (windows) umstelle, aber ich muss das bei fast jeder 3-4 Mail machen.
    Das Problem habe ich auf zwei verschiedenen Rechnern Window 7/64bit TB! v7.4.16 (32bit)

    Ich wieder hole noch mal:
    Wenn ich eine Mail mit UTF-8 bekomme, wird der Zeichensatz erkannt, sichtbar im Kontextmenü, dort ist er ausgewählt. Leider ist die Darstellung fehlerhaft. Wenn ich bei dieser Mail das Kontextmenü aufrufe und im Zeichensatz aus Westeuropäisch (windows) wähle, wird die Mail korrekt dargestellt. Ich hätte gerne Westeuropäisch (windows) als Systemstandard. Wenn ich Westeuropäisch (windows) (windows-1252) auswähle und anschließend den Menüpunkt 'Als Voreinstellung' wähle, hat das keine Auswirkung.

    Kann das Problem denn wenigstens jemand nachvollziehen?

    PS. Dieses Darstellungsproblem habe ich auch in der v8.6.0.9, auch hier das exakt gleiche Verhalten.
    Unter Outlook habe ich solche Probleme nicht.