Anzeige:
Ergebnis 1 bis 2 von 2

Thema: Umlaute IS8859-1 und UTF-8

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.03.2006
    Beiträge
    180

    Umlaute IS8859-1 und UTF-8

    Hallo,

    in einem OCR-Programm unter Windows XP erkenne ich Text und speichere ihn als "UTF8" ab (Auswahl "Text kodiert, UTF8").

    Auf meinem Linux-Rechner ist UTF8 standardmäßig eingestellt. Im vi / vim wird die unter Windows erstellte Textdatei bezgl. Umlaute scheinbar korrekt dargestellt, in OpenOffice (OO) ist _jedem_ Zeichen ein "#" vorangestellt. Ersetzt man dieses "#", ist auch der Text wieder lesbar, und auch die Umlaute scheinen richtig dargestellt zu sein.

    Eine Analyse mit "od" (octal dump) ergab, dass das "#" nichts anderes als 0x00 ist. Das führt zur Schlussfolgerung, dass das OCR-Programm nicht in UTF8, sondern in UTF16 die Texte ausgibt. Das bedeutet, dass die Datei nahezu doppelt so groß ist als unbedingt notwendig.

    Ich möchte die textlich erkannten Dokumente einheitlich behandeln und habe ein Skript geschrieben, mit dem ich das 0x00 per "sed" ersatzlos streiche. Dateien, die ich mit diesem Skript behandle, weisen folgende Eigenschaften auf:

    1.) Beim Öffnen im OO werden sie als UTF8-kodiert erkannt, Zeilenende ist LF. Die Umlaute scheinen richtg dargestellt zu sein.
    2.) Im "vim" werden die UTF8-kodierten Umlaute als zwei "schräge" Oktetts dargestellt. Tatsächlich bestehen solche Umlaute aus 2 Oktetts. Der "vim" vermerkt in der Statuszeile "[konvertiert]".
    3.) Mit "od" habe ich die Bestätigung erhalten, dass die Oktetts für die UTF8-Umlaute richtig sind, nur werden sie im "vim" falsch angezeigt, so als ginge "vim" von IS8859-1 us.
    4.) Mit "od" habe ich festgestellt, dass die interne UTF8-Kennzeichnung einer UTF8-kodierten Datei fehlt: am Dateianfang fehlen die ersten 3 Oktetts mit 0xefbbbf
    5.) Selbst wenn ich diese 3-Oktett-Sequenz am Dateianfang verwende (leere UTF8-kodierte Datei in OO erzeugt) und an sie das textlich erkannte Dokumente anhänge, bleibt das Verhalten in OO und vim wie unter 1) und 2) beschrieben unverändert.

    Kurzum, wie erreiche ich, dass in vim die Umlaute visuell korrekt dargestellt werden, und gleichzeitig in der Statuszeile des vim der Hinweis "[konvertiert]" verschwindet?

    Vielen Dank im voraus!

    MfG
    Dieter

  2. #2
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    wenn dein programm utf8 nicht richtig kann speicher doch in iso8859-15 und konmvier es danach nach utf8

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •