Frage zu AutoIt3Wrapper

  • Hallo,

    ich habe da mal eine Frage zu AutoIt3Wrapper


    Als Direktive habe ich u.a. "#AutoIt3Wrapper_Res_Language=1031" in meinem Script stehen.


    Aber sobald ich das Script mit "Ctrl + F7" in SciTE (also mit der Wrapper GUI) kompiliere, werden alle deutschen Umlaute durch andere Zeichen ersetzt.

    Da sich dadurch auch Fensternamen usw. ändern, funktioniert das kompilierte Script (die erstellte exe) natürlich auch nicht mehr.

    Z.B. Wird aus dem "Zurück" Text auf einem Button dann "Zurück" und der Button wird dann eben auch nicht mehr erkannt.


    Wenn ich dagegen SciTE verlasse und das Script über das Kontextmenü von Windows kompiliere, so werden die Umlaute nicht ausgetauscht und daherfunktioniert die exe auch.

    Anscheinend gibt es nur Müll, wenn die GUI irgendetwas ins Script schreibt (z,B. eine geänderte Direktive).


    Also, Kompilieren mit GUI ergibt Müll, kompilieren ohne GUI funktioniert richtig.

    Und mehrfaches kompilieren mit der GUI ergibt auch mehrfachen Müll, da der Wrapper dann die ersetzten Zeichen auch mehrfach ersetzt.


    Kann man dem Wrapper das irgendwie "abgewöhnen" oder liegt das an irgendeiner Einstellung von SciTE?


    MfG:

    BigRox

  • Ich kann den Umlautfehler bei mir nicht reproduzieren. Habe es mit deiner Methode versucht, aber bei mir funktioniert alles problemlos.

    Vielleicht liegt es an einer Standard-Kodierung, die dein Windows oder Scitie nutzt. ?(

  • Wenn Du in SciTE -> Menü [Optionen] die SciTEGlobal.properties und SciTEUser.properties öffnest, was steht dort bei :

    code.page =

    output.code.page =

    ( nicht die ggf. mit # auskommentierte(n) Zeile(n) )


    Der Wert 65001 entspricht UTF-8.

    Schaue Dir auch mal die Funktion _WinAPI_WideCharToMultiByte() an.

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."


    Einmal editiert, zuletzt von Musashi ()

  • global:


    Code
    user:
    title.full.path=1
  • xSunLighTx3 :


    Ja, es geht um den Bereich # Internationalisation in der SciTEGlobal.properties ggf. "übersteuert" durch Einträge in der SciTEUser.properties :


    Ich verwende z.B. noch eine ältere Version von SciTE4AutoIt, da steht es so drin :


    In neueren Versionen von SciTE4AutoIt (wie bei Dir) sieht es dann so aus :

    (hier hat sich hinsichtlich Kodierungserkennung eh einiges getan)


    Bitnugger [et al.] hat sich in diversen lesenswerten Beiträgen bzgl. Kodierung usw. buchstäblich die Finger wund geschrieben ;).


    Es verbleibt aber immer noch eine "Grauzone" :

    Bei den Kodierungen UTF-16BE und UTF-16LE (auch UTF-32BE/LE) muss die Byte-Reihenfolge angegeben werden, da die Zeichen jeweils mindestens entweder in 16 oder 32 Bit großen Werten kodiert sind und damit mehrere Bytes benötigen. Das Byte Order Mark (BOM) kennzeichnet dabei, in welcher Reihenfolge die Bytes ausgewertet werden müssen (BE=Big-Endian , LE=Little-Endian).



    Bei UTF-8 ist ein BOM nicht zwingend erforderlich !

    Folge : Eine "ANSI"-kodierte Datei lässt sich nicht so ohne weiteres von einer "UTF-8 ohne BOM"-kodierten Datei unterscheiden.


    Soviel in Kürze zum techn. Hintergrund.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."


  • Hallo Musashi,

    in der Datei "SciTEGlobal.properties" steht folgendes:


    In der Datei "SciTEUser.properties" stehen die folgenden Zeilen:


    code.page=0

    output.code.page=0


    Ich verwende folgende SciTE-Version:

    Version 4.1.0

    Jun 27 2018


    MfG:

    BigRox