Eine ISO-8859-1 Datei wurde alss UTF-8 geöffnet und gespeichert
Severin Kacianka
- software
0 Orlando1 molily
Hallo,
ich habe gerade versehentlich eine (Text)Datei, die im ISO-8859-1 vorlag mit KWrite als UTF-8 Datei geöffnet und auch gespeichert. Natürlich sind mir alle Umlaute und Sonderzeichen verloren gegangen.
Gibt es eine Möglichkeit die Datei zu retten?
Vielen Dank für eure Zeit,
Severin
Hallo Severin,
ich habe gerade versehentlich eine (Text)Datei, die im ISO-8859-1 vorlag mit KWrite als UTF-8 Datei geöffnet und auch gespeichert. Natürlich sind mir alle Umlaute und Sonderzeichen verloren gegangen.
Was passiert, wenn du die UTF-8-Datei als ISO-8859-1 öffnest? Ist das mit KWrite möglich? In UTF-8 sollte schließlich nichts verlorengehen.
Grüße
Roland
Hallo,
Was passiert, wenn du die UTF-8-Datei als ISO-8859-1 öffnest? Ist das mit KWrite möglich? In UTF-8 sollte schließlich nichts verlorengehen.
Die Umlaute fehlen einfach. Selbiges passiert auch wenn ich die Datei mit einem beliebigem andren Editor aufmache.
Gibt es eine Möglichkeit die aktuelle Codierung herauszufinden, und zu ändern?
Gruß,
Severin
Hallo Severin
Die Umlaute fehlen einfach.
Meinst du mit fehlen: ganz weg oder ein Fragezeichen oder
kryptische Zeichen im text ?
Wenn Sie wirklich ganz weg sind, also ein Wort wie
Märchen zu Mrchen wurde, dann gibts no Chance. Alles manuell.
Wenns ein Fragezeichen ist kann ich dir einen Link und einen Code geben der dir die Manuelle Arbeit erleichtert.
Bei kryptischen Zeichen : wenn alle Umlaute verschiedene
aber doch jeweils gleiche zeichen haben, einfach suche/ersetzen nehmen.
Stefan
'Nabend Severin.
Gibt es eine Möglichkeit die aktuelle Codierung herauszufinden, und zu ändern?
Um sie herauszufinden, kannst du die Datei entweder einmal mit einem Hexeditor anschauen oder unter Linux das Programm "file" bemühen. Allerdings sind dessen Aussagen mitunter mit Vorsicht zu genießen. Ob es sich noch um UTF-8 handelt, solltest du damit aber herausbekommen können.
Falls die Umlaute wirklich fehlen (und nicht bloß durch etwas anderes ersetzt wurden) hast du schlechte Karten, was die Wiederherstellung angeht...
Hallo,
ich habe gerade versehentlich eine (Text)Datei, die im ISO-8859-1 vorlag mit KWrite als UTF-8 Datei geöffnet und auch gespeichert. Natürlich sind mir alle Umlaute und Sonderzeichen verloren gegangen.
Gibt es eine Möglichkeit die Datei zu retten?
Nein.
Wenn ich das mache, dann ersetzt KWrite alle kaputten UTF-8-Sequenzen durch das Zeichen U+FFFD (Replacement Character, �). Betroffen ist immer auch das darauffolgende Zeichen.
Aus »Märchen« wird also die Bytefolge:
4D EF BF BD 63 68 65 6E
M � c h e n
Dasselbe bei ö und ß. ü schmeißt er einfach heraus, das folgende Zeichen ist aber noch okay (ich habs mit ASCII-Zeichen getestet).
Da kannst du nichts retten...
Mathias
Hallo,
Da kannst du nichts retten...
Drei Buchstaben: G A U.
Mich hat überrascht, dass KWrite das so einfach ohne Rückfrage macht. Ich wollte eigentlich nur 5 Zeilen auskommentieren....
Zum Glück gibt es Backups, auch wenn das Anfordern wieder unnötig Zeit kosten wird.
Danke für deine Antowort und gute Nacht,
Severin
echo $begrüßung;
Mich hat überrascht, dass KWrite das so einfach ohne Rückfrage macht.
Es ist immer schön, wenn man einen Schuldigen hat. Das KWrite wars, das hat nicht gemeckert ... :-)
Aber Ernst beiseite. Wenn es eine Datei öffnen soll, im Datei-Öffnen-Dialog "utf8" als Kodierung gewählt ist und die Datei ungültige UTF-8-Sequenzen enthält, dann hätte es in der Tat einen Hinweis geben können. Andersrum, also wenn eine Datei nach UTF-8 (oder einer beliebigen anderen Mehrbyte-Kodierung) kodiert ist und "iso 8859-x" beim Öffnen gewählt ist, könnte es nicht hinweisen, da alle Bytes 0..255 gültige ISO-8859-x-Zeichen darstellen. Fügt man nun unachtsamerweise Zeichen mit Byte-Werten von 128 bis 255 ein, ist die Datei auch ungültiges UTF-8, ohne dass ein Editor in der Lage wäre, diese Situation eindeutig als Fehler zu erkennen.
Solche Kodierungsfehler werden also nur in einigen Situationen entdeckt in anderen nicht. Eine Hinweismeldung käme demzufolge auch nur manchmal und manchmal nicht. Man kann sich nicht darauf verlassen. Deswegen plädiere ich dafür, ein Feature "Kodierfehlererkennung" ganz wegzulassen als es nur, technisch bedingt, halb funktionabel einzubauen. Vielleich hat der KWrite-Schreiber das ebenso gesehen ...
echo "$verabschiedung $name";
Hallo,
Es ist immer schön, wenn man einen Schuldigen hat. Das KWrite wars, das hat nicht gemeckert ... :-)
Der blöde Blechtrottel wars !!1!einself ;-)
Ich hätte mir eine Warnung gewünscht bevor, wie Mathias schreibet, "alle kaputten UTF-8-Sequenzen durch das Zeichen U+FFFD" ersetzt werden. Hinzugefügt habe ich nur /* und */, also Zeichen, die es schon im alten ASCII gibt.
Wie auch immer. Ich bin KWrite auch nicht böse, im Gegenteil ich liebe die Möglichkeit entfernte (per sftp) Dateien, wie ganz normale Dateien editieren zu können. Leider war ich etwas müde und deshalb unachtsam :(
Gruß,
Severin