Ich habe auf einem (fremden) Opensuse 11.1-Rechner einige Dateien, die ich nicht sinnvoll konvertieren kann. Die Dateien stammen von einem XP-Rechner (vermutlich). echo "stra�enmusikant" | iconv -f windows-1250 -t UTF-8 stra�enmusikant echo "stra�enmusikant" | iconv -f ISO_8859-1 -t UTF-8 stra�enmusikant Al -- 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
On Thu, 12 Nov 2009 23:16:36 +0100, you wrote:
echo "stra?enmusikant" | iconv -f ISO_8859-1 -t UTF-8 stra�enmusikant
Was sagt 'locale' ? Philipp -- 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, 13. November 2009 03:52:13 schrieb Philipp Thomas:
On Thu, 12 Nov 2009 23:16:36 +0100, you wrote:
echo "stra?enmusikant" | iconv -f ISO_8859-1 -t UTF-8 stra�enmusikant
Was sagt 'locale' ?
Ich verstehe deine Frage nicht ganz. locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_COLLATE="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_MESSAGES="de_DE.UTF-8" LC_PAPER="de_DE.UTF-8" LC_NAME="de_DE.UTF-8" LC_ADDRESS="de_DE.UTF-8" LC_TELEPHONE="de_DE.UTF-8" LC_MEASUREMENT="de_DE.UTF-8" LC_IDENTIFICATION="de_DE.UTF-8" LC_ALL= Die Datei kommt von einem fremden System, d.h. -t UTF-8 ist klar, aber -f nicht. Al -- 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
Al Bogner schrieb:
Ich habe auf einem (fremden) Opensuse 11.1-Rechner einige Dateien, die ich nicht sinnvoll konvertieren kann. Die Dateien stammen von einem XP-Rechner (vermutlich).
echo "stra�enmusikant" | iconv -f windows-1250 -t UTF-8 stra�enmusikant
echo "stra�enmusikant" | iconv -f ISO_8859-1 -t UTF-8 stra�enmusikant
Al
Hi, es wird das grauenhafte Windows-utf16 sein. Zumindest recode kennt es. cu jth -- 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
Hallo, Am Don, 12 Nov 2009, Al Bogner schrieb:
Ich habe auf einem (fremden) Opensuse 11.1-Rechner einige Dateien, die ich nicht sinnvoll konvertieren kann. Die Dateien stammen von einem XP-Rechner (vermutlich).
echo "stra???enmusikant" | iconv -f windows-1250 -t UTF-8 stra??????enmusikant
echo "stra???enmusikant" | iconv -f ISO_8859-1 -t UTF-8 straï¿??enmusikant
Das ist auf jeden Fall kaputt und falsch kodiert, schaut nach nem 3-Byte UTF-8 Zeichen aus ... Beim rumprobieren mit div. (fehl-)Dekodierungen hab ich nix gefunden das passt. Laß dir die Daten neu schicken. -dnh -- Censorship sucks^W is for your own good. -- 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 Samstag, 14. November 2009 22:51:02 schrieb David Haller: Hallo David,
Am Don, 12 Nov 2009, Al Bogner schrieb:
Ich habe auf einem (fremden) Opensuse 11.1-Rechner einige Dateien, die ich nicht sinnvoll konvertieren kann. Die Dateien stammen von einem XP-Rechner (vermutlich).
echo "stra???enmusikant" | iconv -f windows-1250 -t UTF-8 stra??????enmusikant
echo "stra???enmusikant" | iconv -f ISO_8859-1 -t UTF-8 straï¿??enmusikant
Das ist auf jeden Fall kaputt und falsch kodiert, schaut nach nem 3-Byte UTF-8 Zeichen aus ... Beim rumprobieren mit div. (fehl-)Dekodierungen hab ich nix gefunden das passt.
Laß dir die Daten neu schicken.
Geht nicht, David. Ich habe es mittlerweile manuell geändert. War gar nicht so einfach. Konqueror kann die Datei nicht umbenennen, da sie bei einer Änderung nicht mehr gefunden wird und auf der Konsole mit Wildcards kann es auch nicht direkt gehen, da sich zB "stra�enmusikant1" und ""stra�enmusikant2" nicht mit "Tab" erweitern lässt. Grummel Also alles in ein anderes Verzeichnis kopieren, per Wildcard, zB mit *1* alles löschen, bis nur mehr 1 kaputte Datei übrig ist. Aufwand wird es wenn das 2. Zeichen kaputt ist, zum Glück hatte ich nichts an 1. Stelle. AFAIK konnte KDE 3.5 solche Dateien ändern. Aber ich glaube, diese Verstümmelung ist für einen DAU gar nicht so schwierig zu schaffen, da ich schon öfters solche Dateien hatte. Ich vermute, da wird 2x irgendwie automatisch falsch umkodiert. Ich frage mich, wie ich so etwas abfangen kann, wenn solche Dateien auf einen Suse-Server per Winscp kopiert werden. Fällt dir eine Möglichkeit ein, ein Verzeichnis nach solchen Dateien zu durchsuchen und diese Dateien anzuzeigen und dann auch gleich zu löschen? Hier noch ein paar solche Dateinamen. fr�hstueck blumenstrau�2 universit�tskirche fr�hling sue�e h�chste_pers�nlichkeit h�tte (hütte) tr�um (träum) flu�aufwaerts Al -- 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
Hallo, Am Sam, 14 Nov 2009, Al Bogner schrieb:
Am Samstag, 14. November 2009 22:51:02 schrieb David Haller: [..] Geht nicht, David. Ich habe es mittlerweile manuell geändert. War gar nicht so einfach. Konqueror kann die Datei nicht umbenennen, da sie bei einer Änderung nicht mehr gefunden wird und auf der Konsole mit Wildcards kann es auch nicht direkt gehen, da sich zB "stra???enmusikant1" und ""stra???enmusikant2" nicht mit "Tab" erweitern lässt.
Liegt vermutlich an der UTF-8 locale, in der sind die Zeichen eben ungültig. Unter ISO-8859-* sind das eben 3 Zeichen "ï¿œ" (\xEF\xBF\xBD). Teste mal ob die Autovervollständigung mit ner anderen locale klappt.
Grummel Also alles in ein anderes Verzeichnis kopieren, per Wildcard, zB mit *1* alles löschen, bis nur mehr 1 kaputte Datei übrig ist. Aufwand wird es wenn das 2. Zeichen kaputt ist, zum Glück hatte ich nichts an 1. Stelle. AFAIK konnte KDE 3.5 solche Dateien ändern.
perl kann bei sowas helfen. *lol*
Aber ich glaube, diese Verstümmelung ist für einen DAU gar nicht so schwierig zu schaffen, da ich schon öfters solche Dateien hatte. Ich vermute, da wird 2x irgendwie automatisch falsch umkodiert.
Jap.
Ich frage mich, wie ich so etwas abfangen kann, wenn solche Dateien auf einen Suse-Server per Winscp kopiert werden.
Fällt dir eine Möglichkeit ein, ein Verzeichnis nach solchen Dateien zu durchsuchen und diese Dateien anzuzeigen und dann auch gleich zu löschen?
==== UNGETESTET!!! ==== #!/usr/bin/perl -w use strict; use File::Find; @ARGV[0] or push(@ARGV, "."); sub wanted { if( s/\x{ef}\x{bf}\x{bd}/_/ ) { if( -e $_ ) { print STDERR "$_ already exists!\n"; return; } print "mv -i '$File::Find::name' -> '$_'\n"; # rename($File::Find::name, $_); } } find({ wanted => \&wanted, no_chdir => 1, follow => 1 }, @ARGV); ===== Funktioniert hier mit ner einfachen Testdatei. Erstmal bitte mit dem print testen, dann ggfs. das 'rename' scharfschalten (und das print auskommentieren).
Hier noch ein paar solche Dateinamen.
fr???hstueck blumenstrau???2
Problem: ist immer obige Bytefolge. Daher auch die Ersetzung durch "_". Dann kannst du wenigstens einfacher per Hand umbenennen. HTH, -dnh -- I'm too busy to insult you, but your humiliation is important. Please hold. -- 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 Sonntag, 15. November 2009 00:05:36 schrieb David Haller: Hallo David,
==== UNGETESTET!!! ==== #!/usr/bin/perl -w use strict; use File::Find; @ARGV[0] or push(@ARGV, "."); sub wanted { if( s/\x{ef}\x{bf}\x{bd}/_/ ) { if( -e $_ ) { print STDERR "$_ already exists!\n"; return; } print "mv -i '$File::Find::name' -> '$_'\n"; # rename($File::Find::name, $_); } } find({ wanted => \&wanted, no_chdir => 1, follow => 1 }, @ARGV); =====
Funktioniert hier mit ner einfachen Testdatei. Erstmal bitte mit dem print testen, dann ggfs. das 'rename' scharfschalten (und das print auskommentieren).
Hier noch ein paar solche Dateinamen.
fr???hstueck blumenstrau???2
Problem: ist immer obige Bytefolge. Daher auch die Ersetzung durch "_". Dann kannst du wenigstens einfacher per Hand umbenennen.
Ich habe festgestellt, dass da KMail etwas am Zeichen ändert, denn, wenn ich das Beispiel als Testdatei anlege, dann kann ich es mit Konqueror editieren. Ich muss also auf einen Fall warten, wo ich wieder so eine Datei bekomme. Ich habe diese Dateien so schnell als möglich gelöscht und manuell korrigiert und mir leider kein Beispiel aufbehalten. Al -- 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 Fr November 20 2009 glaubte Al Bogner zu wissen:
Am Sonntag, 15. November 2009 00:05:36 schrieb David Haller:
==== UNGETESTET!!! ==== #!/usr/bin/perl -w use strict; use File::Find; @ARGV[0] or push(@ARGV, "."); sub wanted { if( s/\x{ef}\x{bf}\x{bd}/_/ ) { if( -e $_ ) {
[...]
Ich habe festgestellt, dass da KMail etwas am Zeichen ändert,
Laß mich raten: du hast das Script in KMail markiert, rauskopiert, als Datei gespeichert und erhälst beim Ausführen eine Fehlermeldung ähnlich dieser hier? Unrecognized character \xC2 in column 1 at ./test.sh line 6. Wenn ja, dann bist du auf eine nette Eigenart vom KMail hereingefallen: http://florian-gross.de/dokuwiki/doku.php/wiki/linux/probleme#scripte_aus_de... Kurz gesagt: e-mail abspeichern und alles außer dem Script löschen, dann geht es. flo --
Schlachtet einen verrückten DAU ! Kopp, Sie sind endgültig raus. Aber war doch ein Starker Spruch, oder etwa nicht [TM]? [WoKo und Bastian Schiebener in dag°] -- 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 Samstag, 21. November 2009 05:30:18 schrieb Florian Gross:
Am Fr November 20 2009 glaubte Al Bogner zu wissen:
Am Sonntag, 15. November 2009 00:05:36 schrieb David Haller:
==== UNGETESTET!!! ==== #!/usr/bin/perl -w use strict; use File::Find; @ARGV[0] or push(@ARGV, "."); sub wanted { if( s/\x{ef}\x{bf}\x{bd}/_/ ) { if( -e $_ ) {
[...]
Ich habe festgestellt, dass da KMail etwas am Zeichen ändert,
Laß mich raten: du hast das Script in KMail markiert, rauskopiert, als Datei gespeichert und erhälst beim Ausführen eine Fehlermeldung ähnlich dieser hier?
Nein so nicht, es geht um Dateien von einem Fremdsystem. Ich mache als zwischenzeitlichen workaround, da ich nichts mehr zum Testen habe: | iconv -f UTF-8 -t ISO_8859-1 | iconv -f ISO_8859-1 -t UTF-8` Al -- 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
participants (5)
-
Al Bogner
-
David Haller
-
Florian Gross
-
Joerg Thuemmler
-
Philipp Thomas