alte Dokumente unlesbar (Codierung?)

Hallo zusammen,

die meisten sehr alten Dokumente, die bei mir noch gespeichert sind,
haben irgendwann Konvertierungen nicht überstanden und sind heute zum
Teil fast unlesbar. Beispiele:

Beträge -> BetrŠge
Übrigens -> †brigens
für -> fŸr
Köstlichkeiten -> Kšstlichkeiten

Ob die ursprünglichen Dateien in einem alten Word- oder SO-Format
entstanden sind, weiß ich nicht mehr. Sicher ist nur, dass sind unter
Windows angelegt wurden (mittlerweile arbeite ich seit über 10 Jahren
mit Linux). Ich nehme an, dass es durch Inkompabilitäten von
Schriftcodierungen passiert ist.

Gibt es eine Möglichkeit, entweder einzelne Dokumente oder (besser noch)
ganze Verzeichnisse in einem Rutsch korrigieren zu lassen? Ideal wäre
ein Tool, das unter Ubuntu gut läuft.

Viele Grüße

Rainer

Hallo Rainer,

nutze mal einen Editor mit UTF-8 könnte sein dass deine Dateien mit
windows-1252 codiert sind

lg
Stefan

Hallo Rainer

Snip

Sicher ist nur, dass sind unter
Windows angelegt wurden (mittlerweile arbeite ich seit über 10 Jahren
mit Linux). Ich nehme an, dass es durch Inkompabilitäten von
Schriftcodierungen passiert ist.

Windowszeichensatz war Windows-1252 (aka CP-1252), heutzutage ist Windows
Unicode-fähig wie auch Linux schon seit Jahren.

Gibt es eine Möglichkeit, entweder einzelne Dokumente oder (besser noch)
ganze Verzeichnisse in einem Rutsch korrigieren zu lassen? Ideal wäre
ein Tool, das unter Ubuntu gut läuft.

recode wäre ein mögliches Tool.

Hallo Stefan

Hallo Rainer,

nutze mal einen Editor mit UTF-8 könnte sein dass deine Dateien mit
windows-1252 codiert sind

Ist so nicht ohne weiteres möglich, geht nur, wenn man die Dateien (Star
Office oder Word *) auspackt.

Aber deine Vermutung, den Zeichensatz betreffend, dürfte zutreffend sein.

Hallo Matthias,

> Sicher ist nur, dass sind unter
> Windows angelegt wurden (mittlerweile arbeite ich seit über 10
> Jahren mit Linux). Ich nehme an, dass es durch Inkompabilitäten von
> Schriftcodierungen passiert ist.

Windowszeichensatz war Windows-1252 (aka CP-1252), heutzutage ist
Windows Unicode-fähig wie auch Linux schon seit Jahren.

>
> Gibt es eine Möglichkeit, entweder einzelne Dokumente oder (besser
> noch) ganze Verzeichnisse in einem Rutsch korrigieren zu lassen?
> Ideal wäre ein Tool, das unter Ubuntu gut läuft.

recode wäre ein mögliches Tool.

Hab's mit einer Datei ausprobiert - mit

recode latin-1..utf-8 DATEINAME.odt

Ist fehlgeschlagen: Bei anschließenden Versuch, sie mit LO zu öffnen,
wurde gemeldet, dass sie fehlerhaft sei. Die Frage, ob LO versuchen
soll, sie zu reparieren, habe ich bejaht. Ergebnis: Meldung
"Allgemeiner Fehler. Allgemeiner Ein-/Ausgabefehler".

Tatsächlich habe ich die Word-Version dieser Datei von März 1998 noch
gefunden. Aber ein Test mit recode war ebenfalls ernüchternd. Aus 1
Seite wurden nun 48 mit lauter kryptischem Zeugs. Z.B. zeigt die erste
Seite:

ÐÏ#ࡱ#á################>###þÿ #################

und die zweite:

###########
#######þÿÿÿ########ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÜ¥h#Wà######e###############³###<###################¥#######
############################

und so weiter.

Ob die Word-Datei die ursprünglich erstellte ist oder eine, die auch
aus einer vorherigen Word-Version übernommen wurde, weiß ich natürlich
nicht.

Viele Grüße

Rainer

Moin,

recode wäre ein mögliches Tool.

Hab's mit einer Datei ausprobiert - mit

recode latin-1..utf-8 DATEINAME.odt

Ist fehlgeschlagen: Bei anschließenden Versuch, sie mit LO zu öffnen,
wurde gemeldet, dass sie fehlerhaft sei. Die Frage, ob LO versuchen
soll, sie zu reparieren, habe ich bejaht. Ergebnis: Meldung
"Allgemeiner Fehler. Allgemeiner Ein-/Ausgabefehler".

Soweit ich mich erinnere ist recode nur für reine Textdateien geeignet.

MS-WORD(alt) verwendet ein proprietäres Dateiformat, SO/OO/LO sowie MS-WORD(neu) ein gezipptes Format, ich glaube mit XML oder sowas als Textcontainer. Zumindest kann man das nicht direkt umcodieren.

Umständlich, aber evtl. möglich: Den Text öffnen, kopieren, in einen UTF-8-fähigen (sollten unter Linux alle sein) Texteditor einfügen, umcodieren und neue Textdatei mit LO erstellen.

Mit freundlichen Grüßen
Detlef Wiese

Hallo Rainer,

Hab's mit einer Datei ausprobiert - mit

recode latin-1..utf-8 DATEINAME.odt

Nicht mit einer Datei sondern mit dem Textinhalt der Datei testen.

Lese ich Dein Beispiel in Kate (Editor unter Linux) ein, speichere dort
ab und versuche anschließend die Kodierung zu finden, nach der die
Umlaute korrekt angegeben sind, dann habe ich kein Glück. Was mich
besonders irritiert ist, dass bei den Beispielen aus einem Umlaut nicht,
wie häufig bei falscher Kodierung, 2 Alternativzeichen werden.

Gruß

Robert

Hallo

hast Du ältere Versionen von Microsoft Office oder andere Office (StarOffice, openOffice)?
Ich würde dann die Dateien öffnen und im Erfolgsfall die Texte kopieren, wenn es komplexere Formatierungen gibt wird es höchst wahrscheinlich nicht funktionieren.

Könntest auch mit dem Speicherdialog probieren in ein anderes Format zu speichern.

Gruß

Hugo Egon Maurer

Was ist mit Notepad++?
Er hat unter
Kodierung => Weiter => Mitteleuropäisch =>
- OEM 83 und
- Windows 1250.

Ich fürchte, nein. Eventuell kannst du was mit dem Microsoft Word
Viewer ( https://www.chip.de/downoads/DOC-Datei-oeffnen_42813011.html )
retten, ich weiss nicht. Aber wenn, dann sicherlich nur einzeln, mit ggf.
(falls das überhaupt müglich ist) manuellem Copy&Paste o.ä.
Sorry.

Und ehrlich gesagt frage ich mich, ob sich so ein Aufwand wirklich lohnt.
Haben denn diese alten Dateien noch mehr als rein emotionalen Wert?

Wolfgang, auch noch irgendwo ne alte 5-1/2-Zoll-Diskette mit ner zugegeben
Raubkopie von Lotus 1-2-3 Release 1 (also allererste Version) rum liegen
habend (glaub ich; wenn ich den Karton nicht inzwischen doch entrümpelt
hab)

Hallo,

hast Du ältere Versionen von Microsoft Office oder andere Office
(StarOffice, openOffice)?

Leider nicht. Genauer: Evtl. habe ich noch so etwas, nehme aber an,
dass sie unter aktuellen Betriebssystemen nicht mehr laufen.

Könntest auch mit dem Speicherdialog probieren in ein anderes Format
zu speichern.

Funktioniert nicht (s. meine Antwort auf das Posting von Detlef Wiese).

Viele Grüße

Rainer

Hallo,

Was ist mit Notepad++?

Schwierig, weil ein Windows-Programm. Außerdem dürfte das Öffnen von
Office-Dateien mit Texteditoren nicht möglich sein, oder?

Viele Grüße

Rainer

Hallo,

>
> Gibt es eine Möglichkeit, entweder einzelne Dokumente oder (besser
> noch) ganze Verzeichnisse in einem Rutsch korrigieren zu lassen?
> Ideal wäre ein Tool, das unter Ubuntu gut läuft.

Ich fürchte, nein. Eventuell kannst du was mit dem Microsoft Word
Viewer
( https://www.chip.de/downoads/DOC-Datei-oeffnen_42813011.html )
retten,

Seite wurde nicht gefunden. Ist vermutlich auch ein Windows-Programm,
oder?

Und ehrlich gesagt frage ich mich, ob sich so ein Aufwand wirklich
lohnt. Haben denn diese alten Dateien noch mehr als rein emotionalen
Wert?

Ja, sonst würde ich gleich die Finger davon lassen. Gegenfrage zur
analogen Welt: Hast Du alles an älteren Papierdokumenten vernichtet?
Nichts mehr dazwischen, was z.B. 20 Jahre alt ist und mehr, als nr
emotionalen Wert hat?

Viele Grüße

Rainer

Hallo,

MS-WORD(alt) verwendet ein proprietäres Dateiformat, SO/OO/LO sowie
MS-WORD(neu) ein gezipptes Format, ich glaube mit XML oder sowas als
Textcontainer.

Nicht ganz richtig: alte SO-Versionen waren ungezippt. Soweit ich mich
erinnere, ging es erst mit SO6 oder SO7 los. Wie dem auch sei: Ich
vermute ohnehin, dass die Dateien ursprünglich im alten Word-Format
entstanden sind.

Zumindest kann man das nicht direkt umcodieren.

Umständlich, aber evtl. möglich: Den Text öffnen, kopieren, in einen
UTF-8-fähigen (sollten unter Linux alle sein) Texteditor einfügen,
umcodieren und neue Textdatei mit LO erstellen.

Funktioniert nicht. Beispiel: das Wort "für" (im alten Dokument "fŸr"):

Abgespeichert als UTF8 = fÅžr
-> dann konvertiert: fŞr
Abgespeichert als westlich (ISO-8859-15) = keine Änderung
-> dann konvertiert: fŸr

Viele Grüße

Rainer

Hallo Robert,

Lese ich Dein Beispiel in Kate (Editor unter Linux) ein, speichere
dort ab und versuche anschließend die Kodierung zu finden, nach der
die Umlaute korrekt angegeben sind, dann habe ich kein Glück. Was mich
besonders irritiert ist, dass bei den Beispielen aus einem Umlaut
nicht, wie häufig bei falscher Kodierung, 2 Alternativzeichen werden.

Ja, die Sache ist seltsam, wie sich durch Tests auf verschiedenen Wegen
herausgestellt hat (s. meine anderen Antworten).

Wäre es evtl. möglich, mit einem Tool oder Kommando ganze Verzeichnisse
nach Begriffen durchsuchen und sie ersetzen zu lassen
(Stapelverarbeitung)? Ich müsste mir zwar die Mühe machen, alle
fehlerhaften Zeichen aufzulisten und sie durch korrekte zu ersetzen,
aber die Aufgabe schätze ich als überschaubar ein, weil es in erster
Linie ja um Sonderzeichen geht. Vor Allem vermute ich, dass die
vorhandenen Dateien bereits in einer "richtigen" Kodierung vorliegen
und das kryptische Zeug bei Konvertierungsvorgängen durch "falsche
Übersetzungen" entstanden ist. Dann würden Suchen-Ersetzen-Aktionen
erst recht Sinn ergeben.

Viele Grüße

Rainer

Hallo,

MS-WORD(alt) verwendet ein proprietäres Dateiformat, SO/OO/LO sowie
MS-WORD(neu) ein gezipptes Format, ich glaube mit XML oder sowas als
Textcontainer.

Nicht ganz richtig: alte SO-Versionen waren ungezippt. Soweit ich mich
erinnere, ging es erst mit SO6 oder SO7 los. Wie dem auch sei: Ich
vermute ohnehin, dass die Dateien ursprünglich im alten Word-Format
entstanden sind.

Zumindest kann man das nicht direkt umcodieren.

Umständlich, aber evtl. möglich: Den Text öffnen, kopieren, in einen
UTF-8-fähigen (sollten unter Linux alle sein) Texteditor einfügen,
umcodieren und neue Textdatei mit LO erstellen.

Funktioniert nicht. Beispiel: das Wort "für" (im alten Dokument "fŸr"):

Wenn es nur die 7 deutschen Sonderzeichen sind: üöäÜÖÄß
könnte man die doch einfach "replace Ÿ mit ü" machen.
Notepad++ hätte für soetwas die Option, solche Ersetzungen in allen
geladenen Dateien auf einmal zu machen - vielleicht hätte gibt's das ja
auch auf Linux?

Hallo,

Hallo,

Gibt es eine Möglichkeit, entweder einzelne Dokumente oder (besser
noch) ganze Verzeichnisse in einem Rutsch korrigieren zu lassen?
Ideal wäre ein Tool, das unter Ubuntu gut läuft.

Ich fürchte, nein. Eventuell kannst du was mit dem Microsoft Word
Viewer
( https://www.chip.de/downoads/DOC-Datei-oeffnen_42813011.html )
retten,

Seite wurde nicht gefunden. Ist vermutlich auch ein Windows-Programm,
oder?

Und ehrlich gesagt frage ich mich, ob sich so ein Aufwand wirklich
lohnt. Haben denn diese alten Dateien noch mehr als rein emotionalen
Wert?

Ob der User seine Dateien für Kaffeesatz lesen nutzt, oder ob das eine
für ihn wichtige Studienarbeit war, ist doch irrelevant!!

Es geht hier einzig und alleine darum, dass unsere so hochgelobte
Digitalisierung es offensichtlich mit sich bringt, dass alter Code; habe
solches selber schon erleben müssen; mit schmerzhaften Verlusten einher
geht.
- Und warum:
Ganz einfach weil bei vielen Applikation, die Programmierer sich nicht
an ein einheitliches Codieren von Daten halten!
Jeder denkt, dass seine Hinterlegung für den User ja nicht
nachvollziehbar sein muss; wichtig nur, dass es für ihn Zweckmässig ist.
Die Folgen solches Denken trägt dann ja der User..
Wirklich ein enormer Fortschritt für die Geschichtsforschung...

ps. Wolfgang, haben wir nicht kürzlich in einem anderen Zusammenhang von
Codierung und Daten-durchgängig gesprochen?

Hallo Rainer,

so etwas dürfte helfen:

SUB SearchReplace
  oReplace = ThisComponent.CreateReplaceDescriptor
  oReplace.SetSearchString("Š")
  oReplace.SetReplaceString("ä")
  ThisComponent.replaceAll(oReplace)
  oReplace = ThisComponent.CreateReplaceDescriptor
  oReplace.SetSearchString("†")
  oReplace.SetReplaceString("Ü")
  ThisComponent.replaceAll(oReplace)
END SUB

Ich habe jetzt nur 2 der Zeichen aus Deinem Beispiel übernommen.
Insgesamt dürften es ja 7 sein. Also einfach aneinanderreihen und das
Makro mit einem Button in Writer in eine Symbolleiste direkt einbinden.
Öffnest Du jetzt eins der fraglichen Dokumente, so klickst Du auf den
Button und die entsprechenden Zeichen werden ersetzt.

Gruß

Robert

Ja, mit Hilfskonstruktionen ist es möglich, Notepad++ zum Laufen zu
bringen (oder die Alternative "Notepadqq" zu nutzen). Aber wie ich
meiner gestrigen Antwort auf Dein Posting schon schrieb: Es handelt
sich ja um einen Texteditor, und ich kann mir im Moment nicht
vorstellen, wie damit LO-Dateien im odt-Format geladen und bearbeitet
werden sollen.

Viele Grüße

Rainer

Hallo Robert,

SUB SearchReplace
  oReplace = ThisComponent.CreateReplaceDescriptor
  oReplace.SetSearchString("Š")
  oReplace.SetReplaceString("ä")
  ThisComponent.replaceAll(oReplace)
  oReplace = ThisComponent.CreateReplaceDescriptor
  oReplace.SetSearchString("†")
  oReplace.SetReplaceString("Ü")
  ThisComponent.replaceAll(oReplace)
END SUB

Ich habe jetzt nur 2 der Zeichen aus Deinem Beispiel übernommen.
Insgesamt dürften es ja 7 sein.

Es sind deutlich mehr mehr - z.B. ç, Ç, ã, Ã, ñ, Ñ, õ, Õ, á, Á, ó, Ó,
â, ..... etc. Dennoch halte ich die Aufgabe für überschaubar, weil es
ja nicht unendlich viele Zeichen sind.

Also einfach aneinanderreihen und das > Makro mit einem Button in
Writer in eine Symbolleiste direkt einbinden.

Ok. Leider habe ich null Ahnung vom Erstellen von Makros, weiß also
nicht, wie ich diese Aufgabe anpacken muss.

Öffnest Du jetzt eins der fraglichen Dokumente, so klickst Du auf den
Button und die entsprechenden Zeichen werden ersetzt.

Das klingt schon mal gut :wink:

Viele Grüße

Rainer