Thread 'ls' und utf-8-Dateinamen
(5 answers)
Opened by moritz at 2007-11-03 13:49
Hallo,
ich habe ein relativ frisch installiertes Debian Etch, und meine xterms laufen alle unter utf-8. Das funktioniert auch wunderbar, bis auf `ls'. Ich habe einige Musikdateien, die ich von einer alten fat32-Partition kopiert habe, und die in latin1 kodiert waren. Natürlich werden dann bei einem `ls' die Dateinamen falsch angezeigt, anstelle der Umlaute erscheinen schwarze Fragezeichen auf weissem Grund. Also habe ich mir ein Skript geschrieben, das die Dateinamen nach utf-8 kodiert: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/perl use strict; use warnings; use Encode; use File::Copy; for (glob '*'){ my $utf8_fn = decode('latin1', $_); $utf8_fn = encode("utf-8", $utf8_fn) , "\n"; if ($utf8_fn ne $_){ print "Moving from $_ to $utf8_fn\n"; move($_, $utf8_fn); } } Das funktioniert auch prächtig, in der Ausgabe des prints wird der utf-8 kodierte String korrekt angezeigt, und auch ein 'echo *' auf der shell funktioniert: Nur ls weigert sich, den Umlaut korrekt anzuzeigen: Was kann ich machen, um ls zum laufen zu bringen? Ist das ein Bug in ls? Danke schon mal im Voraus |