SciTE - Switch "output.code.page"

    • Offizieller Beitrag

    Beim Ausgeben von Zeichen außerhalb des Standard-ASCII Satzes ärgert man sich ständig mit Codepages und Zeichensätzen herum.

    Für nur AutoIt-Dateien ist das kein Problem. Einstellung in SciTE:

    File encoding: UTF8BOM

    code.page=65001

    character.set=1000

    output.code.page=0

    Damit werden Umlaute sauber in die Konsole geschrieben.

    Aus Lua-Dateien heraus sieht es dann anders aus.

    File encoding: UTF8

    code.page=65001

    character.set=1000

    output.code.page=0

    Das führt dann z.B. bei print('Ä') zur Ausgabe in der Konsole: Ã.

    Eine korrekte Ausgabe erfolgt mit:

    output.code.page=65001

    Alle Codepage-Werte sind für alle Dateien gültig und können somit nicht z.B. in der "au3.properties" unterschiedlich zur "lua.properties" gesetzt werden. Der zuletzt gelesene Wert wäre allgemeingültig.

    Deshalb habe ich hierfür das Skript: SwitchOutputCodepage.lua erstellt.

    Über Properties lässt sich für jeden Dateityp separat die erforderliche output.code.page festlegen. Wobei der Wert "0" (System) der Standardwert ist und somit nicht zwingend gesetzt werden muss.

    output.cp.au3=0

    output.cp.lua=65001

    Das Skript selbst muss mit dem Lua-Programmstart-Skript geladen werden und prüft ob der aktuelle Wert der Output Codepage zur aktuellen Datei passt und wechselt diesen wenn nötig. Überprüft wird:

    - beim Öffnen einer Datei

    - nach dem Speichern einer Datei

    - beim Wechseln auf eine andere Datei im Editor

    EDIT

    Wer mag, kann sich die aktuelle output.code.page auch in der Statusbar mit anzeigen lassen.

    statusbar.text.1=Zei=$(LineNumber) | Sp=$(ColumnNumber) | Markiert: Zei=$(SelHeight) , Sp=$(SelLength) | Modus=$(OverType) | output.code.page=$(output.code.page)