pst nach evolution Umlaute kaputt, mit sed reparieren
Hallo Liste.
Habe mit google ganz viele Seiten gefunden und bin fast glücklich.
Wenn da nicht die Umlaute wären:
Mit Outport habe ich aus meinen Adressen eine addressbook.db erzeugt.
Diese ist in evolution auch erschienen. Die Umlaute sind aber kaputt.
Gott sei dank sind sie mittlerweile nicht mehr abgeschnitten.
Jetzt habe ich ein ähnliches Problem hier gefunden:
http://www.clemens-kraus.de/it-knowledgebase/umstieg-von-windows-auf-linux.h...
mit dem sed Befehl komme ich aber nicht klar kann mir jemand helfen?
Ich habe mir die *.db auch mal mit vi angesehen. Da sind die Umlaute
richtig?!?! In kate oder kwrite sind die Umlaute einfach nicht da.
Wenn ich das ganze aber mit less öffen kann ich mir folgendes raus
schreiben:
366 = ö
344 = ä
374 = ü
337 = ß
Ich denke, mit sed kann ich das lösen....
Gruß,
Kai.
--
Kai Krämer
Am Freitag, 17. November 2006 17:13 schrieb Kai Krämer:
Mit Outport habe ich aus meinen Adressen eine addressbook.db erzeugt. Diese ist in evolution auch erschienen. Die Umlaute sind aber kaputt. Gott sei dank sind sie mittlerweile nicht mehr abgeschnitten.
Jetzt habe ich ein ähnliches Problem hier gefunden: http://www.clemens-kraus.de/it-knowledgebase/umstieg-von-windows-auf-linux. htm
mit dem sed Befehl komme ich aber nicht klar kann mir jemand helfen?
Ich habe mir die *.db auch mal mit vi angesehen. Da sind die Umlaute richtig?!?! In kate oder kwrite sind die Umlaute einfach nicht da.
Wenn ich das ganze aber mit less öffen kann ich mir folgendes raus schreiben:
366 = ö 344 = ä 374 = ü 337 = ß
Ich denke, mit sed kann ich das lösen....
zum Anschauen hilft nur ein hex-editor (emacs im hexl-mode, oder od (--> man od)). Nur so kann man die "richtige" Codierung anschauen. Statt mit sed oder tr selbst etwas zu bauen, kann man es auch mit recode (man recode) probieren. Achtung bei jeder Codierung muß man auch schauen, wie man das eigene System eingestellt hat: Die (vernünftige :-) latin oder (§&$/&//:-) utf-XY Codierung. Der 7-bit ASCII Subset (sprich (fast) alles ohne Umlaute) ist identisch coderiert, nur die Umlaute sind verschieden. so long & bye Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer
Am Freitag, 17. November 2006 17:13 schrieb Kai Krämer:
(...). Jetzt habe ich ein ähnliches Problem hier gefunden: http://www.clemens-kraus.de/it-knowledgebase/umstieg-von-windows-auf-linu x.htm
Das ist für den Kalender, welcher in einem anderen Format exportiert wird. Das kannst du wahrscheinlich aus unten genannten Gründen leider nicht 1:1 übertragen.
mit dem sed Befehl komme ich aber nicht klar kann mir jemand helfen? (...). Ich denke, mit sed kann ich das lösen....
Ich befürchte eher nicht. Da ich das Format von Evolution nicht kenne, nehme ich einfach mal folgendes an: 1. addressbook.db ist eine binäre" Datenbankdatei, 2. gehe ich davon aus, daß auch dort UTF-8 als Zeichensatz erwartet wird, wie generell unter aktuellen Linux-Distributionen, aber tatsächloch cp12xx von Windows benutzt wird, und 3. braucht UTF-8 für Umlaute mehr als 1 Byte, cp12xx nur eins. Aus allem zusammen folgt für mich, daß du mit sed nicht weiterkommen wirst, weil wegen 3. die interne Struktur der Datenbank (1.) bei einer Konvertierung (2.) durcheinander geraten wird. Guck dir mal http://gentoo-wiki.com/TIP_Moving_data_from_outlook_to_evolution an, dort wird zum Export das VCard-Format genutzt, welches IIRC zeilenorientiert ist und damit eine Änderung der Länge innerhalb einer Zeile übersteht. Das erwähnte recode-Programm ist bei SL dabei. HTH Jan -- Sometimes the fool who rushes in gets the job done. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag, den 17.11.2006, 17:53 +0100 schrieb Jan Ritzerfeld:
Am Freitag, 17. November 2006 17:13 schrieb Kai Krämer:
mit dem sed Befehl komme ich aber nicht klar kann mir jemand helfen? (...). Ich denke, mit sed kann ich das lösen....
Ich befürchte eher nicht. Da ich das Format von Evolution nicht kenne, nehme ich einfach mal folgendes an: 1. addressbook.db ist eine binäre" Datenbankdatei, 2. gehe ich davon aus, daß auch dort UTF-8 als Zeichensatz erwartet wird, wie generell unter aktuellen Linux-Distributionen, aber tatsächloch cp12xx von Windows benutzt wird, und 3. braucht UTF-8 für Umlaute mehr als 1 Byte, cp12xx nur eins.
Aus allem zusammen folgt für mich, daß du mit sed nicht weiterkommen wirst, weil wegen 3. die interne Struktur der Datenbank (1.) bei einer Konvertierung (2.) durcheinander geraten wird.
Mal probiert und Ende! Geht mit der dbase-Datei nicht. Wäre zu schön. Aber schön schnell alles Konvertiert.
Guck dir mal http://gentoo-wiki.com/TIP_Moving_data_from_outlook_to_evolution an, dort wird zum Export das VCard-Format genutzt, welches IIRC zeilenorientiert ist und damit eine Änderung der Länge innerhalb einer Zeile übersteht. Das erwähnte recode-Programm ist bei SL dabei.
Das ist der Erfolg: A) kai@tower:~/Kontakte> ./recode_and_cat_contacts >> addressbook.vcf /bin/bash: for datei in ./* ; do if [ -f "$datei" ] then cat "$datei" | recode CP1258/ fi done: Datei oder Verzeichnis nicht gefunden kai@tower:~/Kontakte> oder B) kai@tower:~/Kontakte> sh recode_and_cat_contacts >> addressbook.vcf kai@tower:~/Kontakte> dir add* -rw-r--r-- 1 kai users 0 17. Nov 18:39 addressbook.vcf kai@tower:~/Kontakte> Hmpf! kai@tower:~/Kontakte> cat recode_and_cat_contacts #!/bin/bash for datei in ./* ; do if [ -f "$datei" ] then cat "$datei" | recode CP1258/ fi done kai@tower:~/Kontakte> Ist ausführbar und alles richtig geschrieben. Ausgeführt im Verzeichnis mit den ganzen *.vcs. Null bite groß :( Hilfe? Kai. -- Kai & Anke Krämer Cornelia-Schlosser-Allee 28 79111 Freiburg
Am Freitag, 17. November 2006 18:47 schrieb Kai Krämer:
Am Freitag, den 17.11.2006, 17:53 +0100 schrieb Jan Ritzerfeld: (...).
Guck dir mal http://gentoo-wiki.com/TIP_Moving_data_from_outlook_to_evolution an, dort wird zum Export das VCard-Format genutzt, welches IIRC zeilenorientiert ist und damit eine Änderung der Länge innerhalb einer Zeile übersteht. Das erwähnte recode-Programm ist bei SL dabei.
Das ist der Erfolg: A) kai@tower:~/Kontakte> ./recode_and_cat_contacts >> addressbook.vcf /bin/bash: for datei in ./* ; do if [ -f "$datei" ] then cat "$datei" | recode CP1258/ fi done: Datei oder Verzeichnis nicht gefunden (...). Ist ausführbar und alles richtig geschrieben. Ausgeführt im Verzeichnis mit den ganzen *.vcs. Null bite groß :(
Ich hatte nicht drauf geachtet, aber das Skript genau so wie es da steht läuft natürlich nicht. Irgendwie sind da die Zeilenumbrüche abhanden gekommen.
Hilfe?
Also zumindest folgendes Skript macht bei mir schonmal deutlich mehr: #!/bin/bash for datei in ./*; do if [ -f "$datei" ]; then cat "$datei" | recode CP1258/ fi done Kleiner Test: jan@linux:/tmp/test> echo -e "\344" > ä jan@linux:/tmp/test> echo -e "\366" > ö jan@linux:/tmp/test> ../recode_and_cat_contacts ä ö Gruß Jan -- Every dog has his day. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Super! Danke! Habe zwar einen kleinen work'a'round gemacht, aber so geht es besser. Das andere Script, welches ich in das kde Adressbuch importierte, konnte ich von dorf in eine ldif ändern. Diese habe ich mit allen Umlauten und schön sauber nach evolution bekommen. Für häufige updates der Einträge taugt das freilich nicht. Vielen Dank noch einmal! Versuche dafür einen LDAP aufzusetzen. Ist ein bischen schwierig für mich. Habe den Server mit Hilfe von http://www.pro-linux.de/t_office/openldap-adressbuch.html zum laufen gebracht. Aber mehr auch nicht. Zugriff klappt von evo klappt einfach nicht. Findet den Server gar nicht. Firewall sollte eigentlich nicht stören :( Kennst du einen einfacheren Weg Win+Outlook und 2* Suse+evo zu syncronisieren? Gruß, Kai. Am Samstag, den 18.11.2006, 18:31 +0100 schrieb Jan Ritzerfeld:
Am Freitag, 17. November 2006 18:47 schrieb Kai Krämer:
Am Freitag, den 17.11.2006, 17:53 +0100 schrieb Jan Ritzerfeld: (...).
Guck dir mal http://gentoo-wiki.com/TIP_Moving_data_from_outlook_to_evolution an, dort wird zum Export das VCard-Format genutzt, welches IIRC zeilenorientiert ist und damit eine Änderung der Länge innerhalb einer Zeile übersteht. Das erwähnte recode-Programm ist bei SL dabei.
Das ist der Erfolg: A) kai@tower:~/Kontakte> ./recode_and_cat_contacts >> addressbook.vcf /bin/bash: for datei in ./* ; do if [ -f "$datei" ] then cat "$datei" | recode CP1258/ fi done: Datei oder Verzeichnis nicht gefunden (...). Ist ausführbar und alles richtig geschrieben. Ausgeführt im Verzeichnis mit den ganzen *.vcs. Null bite groß :(
Ich hatte nicht drauf geachtet, aber das Skript genau so wie es da steht läuft natürlich nicht. Irgendwie sind da die Zeilenumbrüche abhanden gekommen.
Also zumindest folgendes Skript macht bei mir schonmal deutlich mehr: #!/bin/bash for datei in ./*; do if [ -f "$datei" ]; then cat "$datei" | recode CP1258/ fi done
Kleiner Test: jan@linux:/tmp/test> echo -e "\344" > ä jan@linux:/tmp/test> echo -e "\366" > ö jan@linux:/tmp/test> ../recode_and_cat_contacts ä ö
--
Kai Krämer
Am Freitag, den 17.11.2006, 17:53 +0100 schrieb Jan Ritzerfeld:
Am Freitag, 17. November 2006 17:13 schrieb Kai Krämer:
(...). Jetzt habe ich ein ähnliches Problem hier gefunden: http://www.clemens-kraus.de/it-knowledgebase/umstieg-von-windows-auf-linu x.htm
Das ist für den Kalender, welcher in einem anderen Format exportiert wird. Das kannst du wahrscheinlich aus unten genannten Gründen leider nicht 1:1 übertragen.
mit dem sed Befehl komme ich aber nicht klar kann mir jemand helfen? (...). Ich denke, mit sed kann ich das lösen....
Guck dir mal http://gentoo-wiki.com/TIP_Moving_data_from_outlook_to_evolution an, dort wird zum Export das VCard-Format genutzt, welches IIRC zeilenorientiert ist und damit eine Änderung der Länge innerhalb einer Zeile übersteht. Das erwähnte recode-Programm ist bei SL dabei.
Ich habe den Auswurf /Kontakte/*.vcf mal durch das scribt von http://www.clemens-kraus.de/tech/linux/umstieg.htm#id2250900 gejagt (collectvcards.sh). Er sammelt auch fleißig die Adressen zusammen und erzeugt die allcards.vcf, aber die wird nur als ical in evolution akzeptiert. Witzig ist, daß ich alle Adressen mit einem Mausklick aus dem konqueror in das kde-Adressbuch importieren kann - was ich eigentlich nicht will! Ich möchte also doch das recode_and_cat_contacts zum laufen bringen (siehe andere mail von mir dazu). Gruß, Kai. -- Kai & Anke Krämer Cornelia-Schlosser-Allee 28 79111 Freiburg
participants (3)
-
Dr. Jürgen Vollmer
-
Jan Ritzerfeld
-
Kai Krämer