Fehlende Umlaute in Labeln.

  • Hi.
    Bei allen meinen Projekten fällt mir schon länger eine Sache unangenehm auf. Wenn man einen String mit Umlauten aus einer SQLite Datenbank ausliest, werden die Umlaute nicht oder falsch dargestellt. Aber eben nur in Labeln. An anderer Stelle, Listen, Comboboxen usw) wird der String richtig dargestellt. Mal ein Beispiel- Screenshot:
    Beispiel.jpg
    In der mittleren Liste wird der String korrekt dargestellt, in den Labeln rechts fehlt das & bzw wird durch ein _ ersetzt... Das ist so bei allen meinem Programmen. Also mache ich etwas grundsätzliches falsch oder es handelt sich um einen Bug in AutoIt.
    Da der Code des Beispiels ziemlich umfangreich ist (über 5500 Zeilen), stelle ich hier nur mal den Abschnitt ein, der für diesen Bereich zuständig ist.
    Die Liste und die Label dieses Tabs werden so erzeugt:

    Und die Daten werden dann so eingefügt:


    In der Liste werden die Sonderzeichen richtig dargestellt, in den Labeln nicht. Warum?

    Vielen Dank schon mal...
    Grüße, Claus.

  • Das & ist für Labels ein Spezialzeichen. Es wird den Buchstaben vorangestellt die für den Aufruf "Alt-[Buchstabe]" vorgesehen sind (der Buchstabe wird unterstrichen).
    Willst du stattdessen das &-Zeichen ausgeben musst du es maskieren in dem du && stattdessen schreibst.
    In deinem Fall wohl eher die &-Zeichen per StringInStr entsprechend ersetzen.

  • Danke sehr.
    Aber eigentlich ist das eine blöde Geschichte. Zum einen ist es nicht konsistent, also kann ich kein "Globales" Ersetzen machen, sondern muss das auf Label beschränken. Und zum anderen ist & nun nicht gerade selten in Verwendung. Ein deutlich "exotischeres" Escape Symbol wäre doch sinnvoller. Dann würde man nicht so oft in solche Probleme geraten...

    Und wenn ich schon mal dabei bin... Kan man AutoIt irgendwie beibringen, HTML Entities in "Klarschrift" darzustellen, also z.B. "&" als "&" oder "Ü" als "Ü", ohne dauernd mit StringReplace zu hantieren?

  • Aber eigentlich ist das eine blöde Geschichte. Zum einen ist es nicht konsistent, also kann ich kein "Globales" Ersetzen machen, sondern muss das auf Label beschränken. Und zum anderen ist & nun nicht gerade selten in Verwendung. Ein deutlich "exotischeres" Escape Symbol wäre doch sinnvoller. Dann würde man nicht so oft in solche Probleme geraten...

    Sag das Microsoft - es handelt sich nicht um eine Eigenheit von AutoIt sondern betrifft GUIs in Windows allgemein.

    Kan man AutoIt irgendwie beibringen, HTML Entities in "Klarschrift" darzustellen, also z.B. "&" als "&" oder "Ü" als "Ü", ohne dauernd mit StringReplace zu hantieren?

    Hatte hierfür mal ne Funktion geschrieben:

  • Krasses Teil laut Screenshot!

    Klar, ist a) online zum download verfügbar und B) OpenSource. Der Quellcode ist bei der Installation mit dabei.
    https://forum.team-mediaportal.com/threads/epg-bu…pg-tool.135452/
    EPG-Buddy dient zu "grabben" von EPG Daten (elektronische Programmzeitschrift) aus verschiedenen weltweiten Quellen, die dann zum einen mit der TV-Serien Online Datenbank thetvdb.com abgeglichen und mit Staffel- und Episoden Nummern versehen werden und dann so aufgearbeitet werden, dass HTPC Programme wie MediaPortal, Kodi, Emby,... diese "aufgehübschten" Daten verwerten können.
    Ist mein bisher "zweitgrößtes" Projekt in AutoIt gewesen, nach "MKV-Buddy" einem sehr komfortablen und umfangreichen Programm zur Video Bearbeitung und Verschönerung.
    http://www.softpedia.com/get/Multimedia…MKV-Buddy.shtml