Umlautproblem mit Subtitle

  • Hallo,
    es gibt bei mir ein Umlautproblem mit der Subtitle-Funktion bei Avisynth. Bei einem Script der Art:

    Code
    BlankClip()
    Subtitle("ÄÖÜäöüß")


    werden in AvsPmod die Umlaute richtig angezeigt. Ziehe ich aber das Script in Virtualdub, um das Video als avi-Datei zu speichern, dann werden die Umlaute durch kryptische Zeichen ersetzt. Das merkwürdige dabei ist, dass manchmal die Umlaute in Virtualdub trotzdem richtig angezeigt werden, eine Ursache dafür konnte ich nicht erkennen.
    Es muss etwas mit den unterschiedlichen Zeichensatzdarstellungen zu tun haben. Ich habe keine Idee, an welcher Stelle ich suchen muss, um immer die richtige Darstellung zu bekommen.

  • Ich weiß nicht, ob AvsPmod eventuell erkennt, ob du das Skript in Unicode gespeichert hast, und das vor der Ausführung eventuell noch korrigiert (was VirtualDub nicht tut). Im Allgemeinen wird wohl Codepage 1252 (Windows "ANSI") erwartet. Das könnte man genauer erkennen, wenn man wüsste, welche kryptischen Zeichen dabei entstehen.

  • Danke für die Antwort. Sie hat mir weitergeholfen.
    Ich habe mir einmal mit einem Hexeditor angesehen, was in der avs-Datei drinsteht. Wenn ein "ö" dargestellt werden soll, müsste das hexadezimal als F6 abgespeichert werden. Tatsächlich steht in der Datei aber C3 B6. Und diese beiden Zeichen werden bei Virtualdub dargestellt, man sieht statt dem "ö" die beiden Zeichen "ö". Damit ist beispielhaft auch die Frage nach den kryptischen Zeichen beantwortet.
    Da die Anwendung bei mir nicht so oft vorkommt, kann ich es nun so lösen, dass ich mit dem Hex-Editor in die avs-Datei die richtigen Umlaute hineinschreibe und beachte, dass die Texte für jeden Umlaut um einen Buchstaben kürzer werden.
    Aber die Frage bleibt, wie ich AvsPmod dazu bekomme, nicht im Unicode sondern in ANSI abzuspeichen. Denn das ist wohl die Ursache des Problems.

  • Das Problem sollte auf jeden Fall im englischen Forum mal angesprochen werden. Ich wüsste jetzt nicht auswendig, ob es dafür bereits ein Feature gibt, aber andere vielleicht.

    Allerdings kann ich das Problem so nicht unbedingt bestätigen. Wenn ich in AvsPmod 2.5.1 (r426-x86-04874ed) ein neues Spript beginne und speichere, wird es bei mir im ANSI-Format erzeugt. Erstellst du das Skript anfänglich erst mal mit einem anderen Editor?

  • Wir kommen dem Kern des Problems näher. AvsPmod speichert wohl immer im ANSI-Code ab, da kommen die Probleme also nicht her. Aber manchmal, wenn ich nur schnell eine Kleinigkeit ändern will, nehme ich den Editor. Und wenn man da nicht aufpasst, hat man schnell mal als Unicode oder UTF8 abgespeichert. Wobei die "kryptischen Zeichen" eher bei UTF8 vorkommen.
    Wenn man das aber bewusst macht, dann liefert Avisynth über Virtualdub eine Fehlermeldung, dass man doch bitte im ANSI-Code neu abspeichern soll. Da ich diese Fehlermeldung nicht bekommen habe, sondern nur die falsche Zeichendarstellung, muss an irgendeiner Stelle noch etwas anderes passiert sein.
    Doch wie dem auch sei, gelernt habe ich, dass man avs-Dateien möglichst nur mit AvsPmod bearbeiten sollte; und wenn man doch den Editor benutzt, dass man unbedingt im ANSI-Format speichern sollte.
    Somit dürfte mein Problem gelöst sein, ich werde aber weiter beobachten.

    Nochmals danke für die Hilfe.

  • Wenn man im Unicode-Format UTF-16 speichert, dann wird der Windows Editor wohl zwei führende Bytes abspeichern (BOM = Byte Order Mark, U+FEFF), die einen Editor schon darauf vorbereiten, dass hier 2-Byte-Character enthalten sind, also wirklich alle Zeichen 16 bit verwenden.

    UTF-8 dagegen verwendet variable Breite, also praktisch alle ASCII7-Zeichen und einige weitere werden mit einem Byte gespeichert, für andere häufige lateinbasierte Buchstaben gibt es 2, für seltenere auch mehr Byte pro Zeichen. Eigentlich hat UTF-8 auch eine BOM (EF BB BF), aber die wird nicht von allen Programmen geschrieben, weil es dann eher zu Problemen mit Programmen führen kann, die am Anfang einer Datei andere "Magic Bytes" erwarten.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!