Der Martin: Samba macht Zicken - Zeichencodierung

Beitrag lesen

Moin,

zurück zum Thema ...

Kann es sein, dass deine Shell nicht UTF-8-fähig ist?

Kann ich nicht mit Sicherheit sagen; es würde mich aber doch sehr wundern, denn es handelt sich um die ganz normale bash "out of the box", und locale en_US.UTF-8. Das gilt doch nach meinem dürftigen Verständnis auch für die Shell.

Erstell doch mal eine Datei auf dem Ubuntu-Client, die Nicht-ISO-8859-1-Zeichen enthält

Gute Idee. Bleiben wir beim Tröten.
Vom Ubuntu-Client, auch auf en_US.UTF-8, erzeuge ich eine Datei mit dem Namen "trœt". Die sieht auf dem Ubuntu-Client sowohl in der Shell (ls) als auch in Thunar, dem GUI-Dateimanager korrekt aus. Ein ls auf der Gentoo-Maschine (wo Samba läuft) zeigt "tr?????t" an, diesmal mit fünf Fragezeichen. Und der Windows-Client zeigt schließlich "tr□ôt" an (ein Kästchen, ein o circonflex), bei genauer Untersuchung finde ich im Dateinamen die Byte-Sequenz 74 72 E2 94 BC C3 B4 74. Das nach UTF-8 decodiert ergibt, wenn ich richtig gerechnet habe U+0074, U+0072, U+263C, U+00F4, U+0074.

Jetzt der umgekehrte Weg.
Ein "trœt" vom Windows-Client angelegt, sieht die Gentoo-Shell als "tr??t", der Ubuntu-Client als "tr?t" - wobei der das Fragezeichen hier als echtes Fragezeichen sieht, es ist also schon an anderer Stelle ein Codierungsfehler aufgetreten.

Übrigens stimme ich dir mittlerweile zu, dass die bash auf der Gentoo-Maschine tatsächlich keinen UTF-8-Support hat; sie stellt bei ls jedes einzelne Byte im Dateinamen oberhalb von 0x80 als '?' dar. Sieht aus wie ASCII only. Das werde mal konkret weiter verfolgen.
Könnte natürlich sein, dass zwischen Windows und Samba alles korrekt läuft (und die Gentoo-bash nur kein UTF-8 versteht), und stattdessen der Ubuntu-Rechner derjenige ist, der da querschießt.

Puh. Ich blick da echt nicht durch. Vor allem, weil ich hier ein System habe, bei dem an mehreren Stellen eine Umwandlung oder Uminterpretation erfolgt, und ich nicht jede einzelne Stelle verfolgen kann. Oder habe ich eine Möglichkeit, Samba tatsächlich beim Interpretieren und ggf. Umcodieren auf die Finger zu schauen?

Das Phänomen mit dnsmasq besteht auch noch: Der DNS-Server weigert sich bei manchen in der hosts-Datei eingetragenen Hostnamen beharrlich, diese aufzulösen. Nicht nur bei seinem eigenen, sondern auch bei ein paar anderen probehalber eingetragenen. Ich finde keine Gesetzmäßigkeit. Es scheint auch keine Rolle zu spielen, ob der gefragte Hostname im Netz aktiv existiert oder nur ausgedacht ist; dnsmasq löst sowohl anwesende Hostnamen auf, als auch solche, die nie da waren. Ebenso bei denen, die dnsmasq "nicht kennt" und daher an den nächsten DNS weiterreicht, der sie auch nicht kennt, so dass zum Schluss NXDOMAIN herauskommt.

Wer hätte gedacht, dass der Teufel so im Detail stecken kann ...

So long,
 Martin

--
F: Was ist schneller: Das Licht oder der Schall?
A: Offensichtlich der Schall. Wenn man den Fernseher einschaltet, kommt immer erst der Ton, und dann erst das Bild.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(