[linux-l] UTF-8 bei Netzwerkdateisystemen

Volker Wegert mail at volker-wegert.de
So Okt 15 20:06:03 CEST 2006


Hallo!

Jan-Benedict Glaw <jbglaw at lug-owl.de> writes:
> On Sun, 2006-10-15 16:05:11 +0200, Volker Wegert <mail at volker-wegert.de> wrote:
>> ich könnte noch mal den einen oder anderen Tip gebrauchen: Ich habe hier zwei 
>> Rechner, bei denen jeweils Dateien und Verzeichnisse mit diakritischen Zeichen
>> vorkommen, die mit UTF-8 kodiert sind. Auf den jeweiligen Rechnern (sprich den
>> lokalen Dateisystemen) funktioniert das ganz prächtig. Jetzt möchte ich gerne
>> Dateien auf dem einen Rechner "für den anderen freigeben" (Technik ist mir
>> herzlich egal) - und da scheppert's. Ich habe schon probiert...
>> 
>> ...NFS3: Ganz komisches Verhalten: Die Umlaute (um die geht's hier) in den
>> Verzeichnisnamen werden beim ls erstmal richtig angezeigt, aber wenn ich in
>> das Verzeichnis reinbuddeln will, geht nix mehr. Witzigerweise flattert die
>> tab completion meiner bash beim mehrfachen Tab-drücken zwischen dem
>> vollständig angezeigten Verzeichnisnamen und einer Version, die hinter dem
>> ersten Umlaut abgeschnitten ist, hin und her. So nicht verwertbar.
> 
> Das riecht für mich, als ob einer der Rechner eben _nicht_ in UTF-8
> läuft...

Würde ich nicht ausschließen wollen :-)

> Erstmal die basics sicherstellen: lokal auf beiden Maschinen einen der
> Umlaut-behafteten Dateinamen durch einen hexdump jagen.
> 
> $ \ls | xxd

Okay. Das Verzeichnis heißt "Früher".
                                                   F  r  ü     h  e  r
auf dem Server:                                    46 72 fc    68 65 72 
auf dem Client (per NFS gemountet):                46 72 fc    68 65 72 
auf dem Client (per mkdir aus dem urxvt angelegt): 46 72 c3 bc 68 65 72

Autsch. Okay, irgendwer lügt da. Beim letzten Punkt übrigens keine Änderung,
wenn ich das Verzeichnis über die Konsole anlege.

> Dann die Ergebnisse erstmal darauf prüfen, daß die *wirklich* valides UTF-8
> sind.

Wenn ich http://de.wikipedia.org/wiki/Utf-8 und
http://www.sql-und-xml.de/unicode-database/latin-1-supplement.html richtig
verstanden habe, ist U+00FC = 0xfc die UTF-8-Darstellung für das ü, demnach
spinnt der Client - richtig?

Auf dem Client ist in der Kernel-Config folgendes eingetragen:
,----
| CONFIG_NLS_DEFAULT="utf8"
| CONFIG_NLS_UTF8=y
`----
locale sagt mir an allen Stellen de_DE.UTF-8 - aber irgendwas habe ich wohl
übersehen... Was könnte das sein?

Ach so, ist ein Wallace&Gromit-Linux.

Schöne Grüße
  Volker

-- 
* Volker Wegert * http://www.volker-wegert.de/contact *
* "Rhetorik ist deshalb ein Problem, weil es schwierig ist, gleichzeitig 
* zu reden und zu denken. Politiker entscheiden sich meistens für eines
* von beiden." (Mark Twain)  





Mehr Informationen über die Mailingliste linux-l