Unicode (UTF-8) und Schnellvorlagen (QTs)

  • Hallo!


    Aaaah, ich krieg's nicht hin:


    ich hab eine Schnellvorlage, die per Makro auf eine externe Datei zeigt. Das sieht im Prinzip so aus


    QT-Name: Verschiedene Termine in der Woche
    QT-Alias: allg_Tangotermine
    QT-Format: nur Text
    QT-Inhalt:

    Code
    %INCLUDE="c:\users\public\anwendungsdaten\thebat\vorlagen\tango-owl_termine_allg.txt"
    
    
    (... weiterer Text ...)


    Die Datei "c:\users\public\anwendungsdaten\thebat\vorlagen\tango-owl_termine_allg.txt" ist in Unicode (UTF-8) erstellt. Ferner ist die QT für das 'Benutzen in: Neuen (Serien-)Nachrichten' vorgesehen.


    Aber es klappt nicht:


    ich hab folgends ausprobiert:

    1. in der Datei c:\users\public\anwendungsdaten\thebat\vorlagen\tango-owl_termine_allg.txt das Makro %CHARSET="utf-8" eingefügt.
    2. im QT-Alias allg_Tangotermine eingebaut
    3. in der Vorlage für neue Mails der Kontoeinstellung (sinnlos - aber getested)
    4. bei den Kontoeinstellungen auf Unicode (UTF-8) umgestellt
    5. Kombinationen der o.g. Einstellungen


    Hilft alles nix - die Umlaute erscheinen als 2 Byte (z.B. wie hier: regelmäßig), obwohl der Maileditor mir sagt, das er UTF-8 verwendet. Ist das ggf. ein Bug im INCLUDE-Makro?
    (Obwohl, was soll da falsch laufen? Die C-Funktionen/API importiert doch Byte für Byte, egal, ob das Text oder sonstiger binärer Kram ist.)



    Hintergrund der Aktion ist: ich hab mein Linux seit einer Woche komplett auf Unicode (UTF-8) laufen, deshalb sind alle Dateien ausserhalb wines jetzt im Unicode als Default-Format.


    Ach ja, das muß ich noch sagen: meine Feldermaus läuft unter wine auf Linux/sidux/KDE.


    Meine alltägliche Konfiguration:
    The Bat! Professional: Version v4.2.23.0/wine@sidux
    Mein Linux (Ausgabe von uname -srvmo:(
    Linux 2.6.32-6.slh.4-sidux-amd64 #1 SMP PREEMPT Wed Jan 27 01:12:51 UTC 2010 x86_64 GNU/Linux
    Wine-Version: v1.1.37


    Grundeinstellung für dem Maileditor: nur Text (Es geht hier nicht um HTML).

    Code
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit


    Wer weiß Rat (außer, die o.g. Datei im ISO-8859-Format abzuspeichern) oder kann mit einen Tipp geben, was ich noch testen könnte?

    Jörg Schiermeier
    Informatiker, Bielefeld


    The Bat! professional v9.5.x (32bit) mit XMP-, Regula- und Shell-Plugin • wine v7.9 • devuan linux (daedalus/ceres)

    11 Mal editiert, zuletzt von sotel () aus folgendem Grund: Kleine Ergänzungen zum besseren Verständnis, mehr Details, der ist Kaffee aus, die Boardsoftware meine letzen Änderungen nicht fressen will und weils schon spät ist, ich unkonzentriert bin....

  • 3 spontane Ideen (alles ungetestet):


    Wenn du einen Bug im Makro %INCLUDE vermutest, dann versuche mal, das Makro %PUT zu verwenden. Soweit ich sehe, ist die Datei mit den Tangoterminen ja eine reine Textdatei, die sonst keine weiteren Makros enthält.


    Oder schau dir mal das Macro %XMP_FileLines aus Gaijins XMP-Makro-Plugin an. Das erlaubt es Dateien zeilenweise zu lesen und dabei zu konvertieren. Ob das tatsächlich weiterhilft, kann ich im Momnet nicht beurteilen, denn das Makro konvertiert zwischen DOS und Windows-Zeichensätzen hin und her. Siehe auch die XMP-Hilfe.


    Schließlich fällt mir nur noch ein, ganz auf eine externe Datei zu verzichten (sofern deren Inhalt immer gleich ist) und deren Inhalt in eine neue Schnellvorlage zu verfrachten, die du dann wiederum mit %QINCLUDE aus anderen Schnellvorlagen heraus aufrufst.

  • Hallo mse!


    Erst Mal danke für Deine Ideen!
    Und dann:


    Zitat

    Wenn du einen Bug im Makro %INCLUDE vermutest, dann versuche mal, das Makro %PUT zu verwenden. Soweit ich sehe, ist die Datei mit den Tangoterminen ja eine reine Textdatei, die sonst keine weiteren Makros enthält.


    Ja, stimmt, das ist eine reine Textdatei. Ich hab INCLUDE verwendet, weil die in früheren Versionen auch Makros enthielt. Das probiere ich mal aus.



    Zitat

    Oder schau dir mal das Macro %XMP_FileLines aus Gaijins XMP-Makro-Plugin an. Das erlaubt es Dateien zeilenweise zu lesen und dabei zu konvertieren. Ob das tatsächlich weiterhilft, kann ich im Momnet nicht beurteilen, denn das Makro konvertiert zwischen DOS und Windows-Zeichensätzen hin und her. Siehe auch die XMP-Hilfe.


    XMP-Makro-Plugin hab ich installiert, funktioniert auch in meiner Konfiguration. Auch das werde ich testen - und berichten.



    Zitat

    Schließlich fällt mir nur noch ein, ganz auf eine externe Datei zu verzichten (sofern deren Inhalt immer gleich ist) und deren Inhalt in eine neue Schnellvorlage zu verfrachten, die du dann wiederum mit %QINCLUDE aus anderen Schnellvorlagen heraus aufrufst.


    Wäre auch ne Idee, die zumindest für diese Datei möglich wär. In einem anderen Anwendungsfall wird die externe Datei allerdings von einem BASH-Script generiert, das ich bisher dann entsprechnde konvertiert habe. Das Konvertieren sollte entfallen.


    Ich probiere weiter, wenn ich mehr weiß, werd' ichs berichten.


    Danke nochmals für Deine Anregungen!!

  • Zitat

    Wenn du einen Bug im Makro %INCLUDE vermutest, dann versuche mal, das Makro %PUT zu verwenden. Soweit ich sehe, ist die Datei mit den Tangoterminen ja eine reine Textdatei, die sonst keine weiteren Makros enthält.


    So, ich habs mal getestet: %PUT hat die gleiche Krankheit wie %INCLUDE, will sagen: auch damit wird es nicht recht angezeigt. Mein Problem liegt wohl doch eher im Maileditor.

  • Hallo!


    Die Makros für das Einbinden externer Dateien sind offensichlich geändert worden:


    Some files related macros can't handle unicode (utf-8) files


    hat eine Lösung für mein in diesem Thread aufgeworfenes Problem. Interessant ist auch die neue Form der Makros. Diese Form gibt es tatsächlich seit Version 2.0. Das steht jedenfalls in einer README.TXT, die der aktuellen Version beiliegt. (Möchtest Du ein Geheimnis sicher verstecken, schreib es in eine README...! Liest garantiert keiner.)


    Um UTF-8-Dateien einzubinden, sehen die Makros %INCLUDE, %PUT und %COOKIE wie folgt aus:


    Code
    %INCLUDE("h:\test\Textdatei_utf8.txt", "UTF-8")
    %PUT("h:\test\Textdatei_utf8.txt", "UTF-8")
    %COOKIE("h:\test\Textdatei_utf8.txt", "UTF-8")


    Das mit dem UTF-8 hab ich allerdings noch nirgends dokumentiert gefunden.


    Wer hats gewusst?

    Jörg Schiermeier
    Informatiker, Bielefeld


    The Bat! professional v9.5.x (32bit) mit XMP-, Regula- und Shell-Plugin • wine v7.9 • devuan linux (daedalus/ceres)

    2 Mal editiert, zuletzt von sotel ()

  • Wer hats gewusst?


    Bernd wußte es:


    Wie kann ich im %COOKIE-Befehl einen speziellen Zeichensatz angeben?



    Grrr, so langsam fühle ich mich als Opfer mangelhafter Dokumentation:


    The Bat! ist sicher ein super Mailprogramm, es weiß nur niemand, was es eigentlich kann....!

  • Hallo zusammen


    ich nutze Thebat! V. 4.2.40 unter wine 1.3. und OpenSuse 11.3 mit KDE 4.5.4


    Den Einstieg fand ich im Sommer 2008 mithile von Jörg, dem für seine Mühe und Geduld hier mal danken möchte.

    Quellcode
    %INCLUDE("h:\test\Textdatei_utf8.txt", "UTF-8")
    %PUT("h:\test\Textdatei_utf8.txt", "UTF-8")
    %COOKIE("h:\test\Textdatei_utf8.txt", "UTF-8")

    Das Problem mit dem Import von UFT-8 Textdateien via Makro (COOKIE, INCLUDE) hat mich gerade beschäftigt und ich habe die hier gegebenen Hinweise versucht umzusetzen. Leider erfolglos. Die Umlaute aus dem UFT-8 Format konnte TB nicht korrekt darstellen.


    Ich habe nunmehr die Dateien, welche durch ein Ausgabe-Plugin von Audacious mittels 'echo ...' erzeugt werden durch den Befehlssatz |iconv -f UTF-8 -t ISO_8859-1 in das Format Westeuropäisch (ISO) konvertiert. Damit kann der üblich Befehlssatz im Makro %INCLUDE="~Datei" verwendet werden. Der Befehl %INCLUDE("~Datei", "ISO-8859-1") funktioniert aber auch.


    Ein Erklärung, warum der Import von UFT-8 nicht funktioniert, habe ich nicht gefunden. Das Dateiformat der UFT-8 Datei ist jedenfalls korrekt und der Inhalt kann von Kmail mittels INSERT="~Datei" sauber eingelesen werden.


    Hinweis zu meiner aktuellen Konfiguration:


    Thebat! läuft hier stabil und lässt sich auch korrekt beenden. Das Geburtsdatum kann im Adressbuch angelegt werden und bleibt auch erhalten. Allerdings kann das Datum nur über den graphischen Kalender geändert werden. Ich müsste also für meinen Geburtstag 636 Monate durchblättern, was nicht zumutbar ist.
    Hin und wieder ist es nicht möglich, Sonderzeichen mit AltGr einzugeben |~\ }{, ist kommt eine Fehlermeldung mit lauter Nullen und Komma, habe sie noch nicht notiert. Nach einem Neustart von TB ist das dann wieder i.O.


    Bis zur Version 1.2 hatte ich regelmäßig Abstürze von TB und Probleme beim Beenden


    Beste Grüße


    Christian Meseberg

  • Hallo zusammen,


    ich muss meinen Beitrag von gestern ergänzen, nachdem ich heute auf meinen ganz eigenen Fehler hingewiesen wurde.


    Nur zufällig las Uwe Zeppei in thebat-dt-beginner meinen Bericht und erkannte, dass ich "UFT-8" schrieb, was ja auch ein Tippfehler hätte sein können. Der Fehler war bei mir aber Programm.


    Mit z.B. %PUT("~Datei", "UTF-8") funktioniert jetzt auch bei mir der Import von UTF-8-Dateien.


    Das lehrt natürlich genau zu prüfen, wenn etwas mal nicht so funktioniert wie es soll.


    Sorry und Danke an Alle, die geholfen haben ;)


    Beste Grüße


    Christian Meseberg

  • Oh man, so ein Fehler kann super nervig sein. Gut, daß es entdeckt wurde ;)

    Ich bin weg. Viel Spaß noch. Auch wenn Krig dann wieder komisch wird, ich bin beim Mac gelandet und breche die letzte Windowsbrücke ab. Ein Forum weniger zum rumhängen

  • Deshalb sollte man sich vielleicht auch immer merken, was diese Abkürzung eigentlich bedeutet:


    UTF-8 - UCS Transformation Format - 8-bit


    Wie war das nochmal mit dem Lernkontext? Der hilft einem, sich den eigentlichen Inhalt zu merken. Und ggf. Fehler zu finden.


    In diesem Sinne...