1 |
On Sun, 17 Oct 2004 23:41:56 +0200 |
2 |
Erik Wasser <erik.wasser@×××××.net> wrote: |
3 |
|
4 |
> On Sunday 17 October 2004 22:58, Frank Numrich wrote: |
5 |
> > On Thu, 14 Oct 2004 23:24:25 +0200 |
6 |
> > |
7 |
> > Felix Tiede <lists@××××××××.de> wrote: |
8 |
> > > Frank Numrich wrote: |
9 |
> > > > Hallo, |
10 |
> > > > |
11 |
> > > > ich habe vor einiger Zeit eine Fileserver von Linux auf Genoo |
12 |
> > > > umgezogen. Nun fällt mir auf, dass die Umlaute nicht richtig |
13 |
> > > > angezeigt werden: Bsp.: Statt Überweisungsliste-Lohn-Gehalt.rpt |
14 |
> > > > heißt die Datei nun ?berweisungsliste-Lohn-Gehalt.rpt |
15 |
> > > > |
16 |
> > > > Ich kann sie auch nur mit dem '?' im Namen ansprechen: |
17 |
> > > > |
18 |
> > > > czwserv1 Reports # ll Überweisungsliste-Lohn-Gehalt.rpt |
19 |
> > > > ls: Überweisungsliste-Lohn-Gehalt.rpt: No such file or directory |
20 |
> > > > |
21 |
> > > > czwserv1 Reports # ll ?berweisungsliste-Lohn-Gehalt.rpt |
22 |
> > > > -rwxrwx--- 1 root sekretariat 43008 Apr 8 2003 |
23 |
> > > > ?berweisungsliste-DTA.rpt |
24 |
> > > > |
25 |
> > > > Wenn ich die Datei umbenenne/kopiere: |
26 |
> > > > |
27 |
> > > > czwserv1 Reports # cp ?berweisungsliste-Lohn-Gehalt.rpt |
28 |
> > > > Überweisungsliste-Lohn-Gehalt.rpt |
29 |
> > > > |
30 |
> > > > dann kann ich die neue Datei mit Umlaut ansprechen, sie wird aber |
31 |
> > > > immer noch mit '?' angezeigt: |
32 |
> > > > |
33 |
> > > > czwserv1 Reports # ll Überweisungsliste-Lohn-Gehalt.rpt |
34 |
> > > > -rwxrwx--- 1 root sekretariat 43008 Oct 14 22:42 |
35 |
> > > > ?berweisungsliste-DTA.rpt |
36 |
> > > > |
37 |
> > > > |
38 |
> > > > Ich kann also auf der Console Umlaute verwenden. |
39 |
> > > > Z.B. eine Datei mit Umlaut anlegen ... |
40 |
> > > > |
41 |
> > > > czwserv1 Reports # touch /tmp/Übertest |
42 |
> > > > |
43 |
> > > > ... ergibt folgendes Ergebnis: |
44 |
> > > > |
45 |
> > > > czwserv1 Reports # ll /tmp/Übertest |
46 |
> > > > -rw-r--r-- 1 root root 0 Oct 14 22:30 |
47 |
> > > > /tmp/?bertest |
48 |
> > > > |
49 |
> > > > Das verstehe ich ehrlich gesagt nicht. Anscheinend werden zwar |
50 |
> > > > sowohl bei den 'Alten' (also vom alten Server kopierten) als auch |
51 |
> > > > bei Neuen Dateien die Umlaute als '?' angezeigt, intern sind aber |
52 |
> > > > bei den Neuen Dateien schon Umlaute vorhanden, bei den Alten |
53 |
> > > > anscheinend die '?'. |
54 |
> > > |
55 |
> > > Ich hatte mit Gentoo ein ähnliches Problem. Aus irgendwelchen |
56 |
> > > Gründen kommt die Konsole mit Unicode-Namen nicht umgehen kann, |
57 |
> > > d.h. sie nicht (richtig) anzeigt werden. Da es aber keine doppelten |
58 |
> > > Störzeichen, sondern Fragezeichen sind, nehme ich jetzt mal frech |
59 |
> > > an, dass Deine Konsole (oder Lokalisierung) nicht den "richtigen" |
60 |
> > > latin1-zeichensatz benutzt. |
61 |
> > > |
62 |
> > > Da ich die Konfiguration nicht kenne, kann ich nur raten:" |
63 |
> > > In /etc/rc.conf folgendes eintragen |
64 |
> > > KEYMAP="de-latin1" oder KEYMAP="de-latin1-nodeadkeys" |
65 |
> > > CONSOLEFONT="lat9w-16" |
66 |
> > > |
67 |
> > > Ausserdem sicherstellen, dass die korrekten Locales definiert sind: |
68 |
> > > LANG="de_DE@euro" |
69 |
> > > i18n="de_DE" |
70 |
> > > |
71 |
> > > Das reicht zumindest für iso-8859-1(5)-kodierte Umlaute in |
72 |
> > > Dateinamen. Sind sie Unicode-kodiert, ist mir kein Weg bekannt. |
73 |
> > > |
74 |
> > > Da ich auch die Server-Konfiguration und den Transportweg (SMB, |
75 |
> > > NFS?) nicht kenne, kann ich auch hier nur raten, dass die |
76 |
> > > Kodierungen nicht zusammenpassen. Im Zweifelsfall die |
77 |
> > > Umgebungsvariablen $LANG und $i18n kontrollieren - sie sollten |
78 |
> > > zumindest identisch sein. |
79 |
> > > |
80 |
> > > Hoffe, dass ich helfen konnte, viele Grüße |
81 |
> > > Felix |
82 |
> > > |
83 |
> > > -- |
84 |
> > > gentoo-user-de@g.o mailing list |
85 |
> > |
86 |
> > Vielen Dank für den Tipp, |
87 |
> > |
88 |
> > das scheints gewesen zu sein. LANG war auf POSIX. Ich hatte irgendwo |
89 |
> > im Gentoo-Forum gelesen, dass das auch die beste Einstellung für root |
90 |
> > sei, da ansonsten Probleme mit portage auftreten könnten. Daher |
91 |
> > wurden beim kopieren der Dateien vom alten auf den neuen Server die |
92 |
> > Umlaute nicht richtig umgesetzt. |
93 |
> > |
94 |
> > Jetzt muß ich nur noch alle Dateien finden, deren Namen ein '?' |
95 |
> > enthalten und diese umbenennen. Geht leider nicht per Skript, da ja |
96 |
> > nicht klar ist, ob das '?' nun durch ä, ö oder ü ersetzt werden muß. |
97 |
> > |
98 |
> > Wie kann ich den beim Suchen mit 'find' ein '?' angeben ohne dass es |
99 |
> > als Wildcard verwendet wird? Das '?' mit einem '\' zu entwerten |
100 |
> > ('\?') geht nicht. |
101 |
> |
102 |
> Reingefallen! B-) Du mußt es zweimal escapen, einmal für die Shell und |
103 |
> einmal für den 'find'-Befehl: |
104 |
> |
105 |
> % echo $SHELL |
106 |
> /bin/bash |
107 |
> % touch \? a b c |
108 |
> % find -iname \\? -maxdepth 1 |
109 |
> ./? |
110 |
> |
111 |
> -- |
112 |
|
113 |
Hmm, |
114 |
|
115 |
das tut aber bei mir nicht so. |
116 |
|
117 |
czwserv1 Reports # mkdir /tmp/test |
118 |
czwserv1 Reports # cd /tmp/test |
119 |
czwserv1 test # export LANG="POSIX" |
120 |
czwserv1 test # touch /tmp/test/nämlich |
121 |
czwserv1 test # ll |
122 |
total 0 |
123 |
-rw-r--r-- 1 root root 0 Oct 18 21:22 n?mlich |
124 |
czwserv1 test # find . -iname *\\?mlich |
125 |
czwserv1 test # find . -iname *\?mlich |
126 |
./nämlich |
127 |
czwserv1 test # |
128 |
|
129 |
Bei der Einstellung LANG=POSIX werden ja die Umlaute nicht richtig erkannt und umgesetzt werden. |
130 |
Daher ist auch die Ausgabe von ll -> n?mlich. |
131 |
Wenn ich jedoch nach dem Fragezeichen konkret suche (mit \\?) dann wird nichts gefunden. |
132 |
Suche ich mit dem Fragezeichen als Wildcard (\?), dann wird die Datei von find gefunden und mit korrektem Umlaut angezeigt. |
133 |
|
134 |
Die Dateien die ich von dem alten Server übernommen habe, werden von ll so angezeigt: |
135 |
-rwxrwx--- 1 root sekretariat 43008 Apr 8 2003 ?berweisungsliste-DTA.rpt |
136 |
|
137 |
Wenn ich mit find suche erhalte ich folgende Ausgabe: |
138 |
|
139 |
czwserv1 Reports # find . -iname '*berweisungsliste-DTA*' |
140 |
./berweisungsliste-DTA-rpt |
141 |
|
142 |
Mit ll und grep ebenfalls dasselbe: |
143 |
|
144 |
czwserv1 Reports # ll | grep berweisungsliste-DTA |
145 |
-rwxrwx--- 1 root sekretariat 43008 8. Apr 2003 berweisungsliste-DTA.rpt |
146 |
|
147 |
Wenn ich LANG auf de_DE@euro setze, dann ändert sich an den Ausgaben gar nichts. |
148 |
|
149 |
Die bash interpretiert die falschen Umlaute einfach anders (-> '?') als find und grep (von denen an der entsprechenden Stelle gar nichts ausgegeben wird). |
150 |
So kann ich die betroffenen Files natürlich nicht rausfinden. |
151 |
|
152 |
Mal schauen ob mir das '?' an einer Windoof-Maschine angezeigt wird. Bin aber skeptisch, da ich per smbclient statt des '?' einen '_' erhalte. Da dies ja ein recht übliches Zeichen in Dateinamen ist, hilft das nicht so sehr viel. |
153 |
|
154 |
Ich hoffe irgendjemand weiß da mehr als ich. |
155 |
|
156 |
Viele Grüße |
157 |
Frank |
158 |
|
159 |
|
160 |
|
161 |
|
162 |
|
163 |
|
164 |
-- |
165 |
gentoo-user-de@g.o mailing list |