On 12.07.06 02:02:15, Steffen Schulz wrote:
> On 060711 at 21:20, Andreas Pakulat wrote:
> > > Ein Problem stellen auch zB Dateinamen dar. Die sind ja auch irgendwie
> > > kodiert, verfuegbare Codings sind im Kernel zu konfigurieren.
> > Also damit habe ich eigentlich auch keinerlei Probleme. Wenn ein User
> > mit de_DE locale eine Datei mit Umlauten auf einem *nix-Dateisystem
> > ablegt kann ich die auch korrekt in UTF-8 locale sehen.
> 
> Hm. Ich hoffe mein ü kommt korrekt an, sonst wird das jetzt etwas wirr:

Ja, passt schon.

> [EMAIL PROTECTED] ~]$ echo $TERM, $LANG
> rxvt-unicode, en_US.utf8

Ich mag mich da jetzt irren, aber en_US.utf8 ist keine korrekte locale,
denke ich. Richtig ist en_US.UTF-8, schau mal in deine /etc/locale.gen.

> [EMAIL PROTECTED] ~]$ touch tür
> [EMAIL PROTECTED] ~]$ ls tür
> tür

Da waere mal interesant wie es mit einem Hexeditor aussieht, also

ls tür >datei; hexedit datei

Da sollten dann 4 Bytes drin stehen (alternativ auch ls -l datei)

> [EMAIL PROTECTED] ~]$ rm tür
> [EMAIL PROTECTED] ~]$ export LANG=en_US
> [EMAIL PROTECTED] ~]$ urxvt
> 
> -> touch tür;ls tür; rm tür; geht in dem terminal ebenso. Allerdings
> faellt auf, dass das terminal irgendwie der Meinung ist, ein Zeichen
> anzuzeigen(ü) und 2 zeichen zu editieren, xterm das selbe. :-/

Ja, weil das Terminal denkt es benutzt eine UTF-8 locale, du aber in
Wirklichkeit eine latin1-Kodierung nutzt.

> -> touch tür; exit
> 
> [EMAIL PROTECTED] ~]$ rm tür
> rm: cannot remove `tür': No such file or directory
> [EMAIL PROTECTED] ~]$ ls tür
> ls: tür: No such file or directory
> [EMAIL PROTECTED] ~]$ ls t?r
> tür

Das Terminal ist aber noch im UTF-8 Modus. So wie du das machst kann ich
das auch nachvollziehen, wobei konsole mir bei einem ls dann nur "tr"
ausgibt. Wenn ich aber dann konsole sage dass die Locale auf latin1
geaendert wurde, wird bei ls wieder alles korrekt dargestellt. Und ich
kanns mit rm tür auch loeschen.

Kurz: Die Kodierung im Dateisystem ist immer diesselbe, nur die Anzeige
durchs Terminal ist u.U. kaputt.

> Nachdem convmv den Dateinamen von 8859-1 nach utf-8 convertiert hat,
> kann ich den Dateinamen korrekt eintippen. Vorher hats dann auf
> Dateisystemebene nicht gepasst, weil die ü unterschiedlich kodiert
> werden. 

Hier irrst du dich. Auf Dateisystemebene ist alles korrekt gewesen, nur
dein Terminal wusste nicht dass es das "High-Byte" nicht als erstes von
2 UTF-8 Bytes interpretieren muss.

> > > Nerviges Problem ist, dass man fuer unicode modifizierte terminals
> > > benutzt, die dann auch anders heissen. z.B. rxvt-unicode oder uxterm.
> > Bloedsinn, deine Howtos sind hoffnungslos veraltet. Solange LANG korrekt
> > gesetzt ist, funktionieren xterm, gnome-terminal, konsole und
> > xfce4-terminal wunderbar. Ich vermute aber das bei dir einfach LANG
> > falsch gesetzt ist.
> 
> Nun, als ich "damals" die entsprechenden terminals probiert habe, wurde
> halt auf die unicode-varianten verwiesen. Das is nu mind. nen Jahr her,
> okay...aber "meine" Howtos erzaehlen noch immer was von Dateinamen:
> 
> http://de.gentoo-wiki.com/Utf8#Dateinamen

Ich hab doch gesagt, die Howtos sind veraltet und das gilt fuer fast
alle UTF-8 Howtos. Glaub mir einfach wenn ich dir sage xterm erkennt ob
es aus einer UTF-8 oder non-UTF-8 locale heraus gestartet wird.

> Oh, und rate was ich eben in der muttrc fand...
> 
> set send_charset="UTF-8:ISO-8859-15:ISO-8859-1"
> 
> Da ist wohl was schiefgelaufen.. ^^

Ja, genau falschherum.

Andreas

-- 
Someone whom you reject today, will reject you tomorrow.


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an