[linux-l] UTF-8 bei Netzwerkdateisystemen
Jan-Benedict Glaw
jbglaw at lug-owl.de
So Okt 15 22:43:08 CEST 2006
On Sun, 2006-10-15 20:06:03 +0200, Volker Wegert <mail at volker-wegert.de> wrote:
> 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
ISO-8859-1
> auf dem Client (per NFS gemountet): 46 72 fc 68 65 72
ISO-8859-1
> auf dem Client (per mkdir aus dem urxvt angelegt): 46 72 c3 bc 68 65 72
UTF-8
> Autsch. Okay, irgendwer lügt da. Beim letzten Punkt übrigens keine Änderung,
> wenn ich das Verzeichnis über die Konsole anlege.
Gut. Die Dateien liegen auf'm Server also in ISO-8859-1{,5}. Der
Client will aber UTF-8. Kein Wunder, daß es auf der Client-Seite dann
Darstellungs-Probleme gibt...
> > 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?
Nein. Auf dem Server sind die Daten falsch (zumindest, wenn das UTF-8
sein soll.)
> 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?
Der Client macht alles richtig. Die Dateinamen auf dem Server sind
falsch, wenn sie UTF-8 sein sollen. Du mußt die Dateien also einmal
umbenennen. Ein Lauf von find mit iconv sollte das machen können :->
MfG, JBG
--
Jan-Benedict Glaw jbglaw at lug-owl.de +49-172-7608481
Signature of: Träume nicht von Dein Leben: Lebe Deinen Traum!
the second :
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: Digital signature
URL : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20061015/c656ec36/attachment.sig>
Mehr Informationen über die Mailingliste linux-l