Re: Umlaute und andere Sonderzeichen in Dateinamen konvertieren?

From: Polytropon <freebsd(at)edvax.de>
Date: Sun, 16 Mar 2014 18:29:24 +0100

On Sun, 16 Mar 2014 17:37:18 +0100, Marcus Franke wrote:
> Moin,
>
> meine Antwort ist zwar etwas off topic aber was macht dich
> glauben, dass Umlaute irgendwie non-freebsd-ish sein könnten?
>
> Das tar auf meinem Rechner kann auch Dateien eintüten, die
> Umlaute im Namen haben.

Ich denke mal, es geht um die Handhabbarkeit von Umlauten
in Dateinamen unter _widrigen_ Umständen - das sind jene,
mit denen man nicht rechnet, die man nicht bedenken mag
und von Anfang an wegdiskutiert, nur daß sie einem in
einem denkbar unwahrscheinlichen Fall doch plötzlich
auf die Füße fallen. :-)

Natürlich können sowohl Dienstprogramme wie tar als auch
das UFS-Dateisystem selbst mit Umlauten in Dateinamen
umgehen, auch mit Sonderzeichen und Leerzeichen (wenngleich
man dagegenargumentieren kann, daß das Leerzeichen ein
Sonderzeichen mit der Bedeutung "Optionstrenner" ist,
so wie '/', '|' oder '&' oder Anführungszeichen ja auch
eine spezielle Bedeutung im Kontext der Shell haben).
Und richtig ist auch, wie Oliver schrieb, daß es in
Dateinamen keine Restriktionen außer '/' und '\0' gibt
und alles andere nur eine Sache von Tastaturlayout,
Bildschirmzeichensatz und Spracheinstellung ist, und
daß man seine Shellscripte so schreiben sollte, daß
sie auch mit Leerzeichen in Dateinamen klarkommen
sollten. Nur sind diese Rahmenbedingungen, die durchaus
sehr vernünftig sind, in der Realität nicht immer und
überall anzutreffen - und genau da gehen die Probleme
los, vor denen man sich schützen kann, wenn man auf
Umlaute, Leerzeichen, A mit Dach, durchgestrichenes L
und doppelte Anführungszeichen unten und oben verzichtet.
Man könnte auch sagen: Irgendwann hat mal jemand die
englische Sprache und damit den 7-Bit-ASCII-Zeichensatz
zum Maß aller Dinge in der Computerwelt bestimmt, also
sollte man es nicht wagen, da "mehr" zu wollen. :-)

Zur Problematik der Ein-vs.-Mehr-Byte-Repräsentation
von Zeichen will ich mich an dieser Stelle nicht
auslassen. UFS und tar kommen damit klar, aber manches
andere Programm könnte durchaus Schwierigkeiten
bekommen, und wenn's z. B. nur ein Mechanismus ist,
der über Dateinamen sucht, man sucht 'I', aber es
ist nicht das große I, wie wir es kennen, sondern
das Majuskel zum i ohne Punkt drüber, oder man
sucht nach "...", aber findet nicht die Ellipse
'...' (also das _eine_ Zeichen mit den drei Punkten),
das im Dateinamen verzeichnet war. Wenn ich jetzt noch
Ligaturen wie ff, fl, ffl, fi oder dergleichen ins
Spiel bringe, kannst Du Dir sicher vorstellen, was
für Probleme man konstruieren kann, wenn man sich
nur genug anstrengt. :-)

Bei Umlauten haben wir glücklicherweise die Situation,
daß wir sie recht angenehm durch "Standardzeichen"
umschreiben können (z. B. "ae" statt 'ä', "sz" statt
'ß' usw.), während wir bei 'é' und 'è' einfach auf
'e' zurückfallen dürfen. Für Sprachen, die "weiter
von uns entfernt" sind, geht das natürlich nicht so
einfach, war aber auch nicht Gegenstand der Frage.

Hinweis am Rande: tar tütet auch Dateien ein, deren
Namen aus chinesischen Schriftzeichen bestehen, nur
daß man die weder an der Konsole noch unter X sehen
kann (es sei denn, man hat dort die entsprechenden
Schriftarten installiert), sonst gibt's nur ??????
oder Klotz Klotz Klotz Klotz Klotz Klotz. :-)

-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sun 16 Mar 2014 - 18:29:57 CET

search this site