Discussion:
Umlaut-Probleme mit Apache Directory Listing
(zu alt für eine Antwort)
Achim Denzl
2003-12-05 23:09:08 UTC
Permalink
Hi,

ich habe den Indianer auf meiner 10.3-Kiste so konfiguriert, dass er den
Inhalt eines Ordners auf der lokalen Platte als automatisch generiertes
Directory-Listing anzeigt (Option +Indexes). Das klappt auch, nur sobald
Umlaute in den Dateinamen vorkommen, gibt's Probleme. Der Quelltext
sieht dann z. B. so aus (am Beispiel "SchöneFrüchte.html):

<LI><A HREF="Scho%cc%88neFru%cc%88chte.html"> SchöneFrüchte.html</A>
^^^^^^^ ^^^^^^^ ^^^^ ^^^^
Der Link stimmt. Der Name stimmt nicht.

Folgende Lösungen wären wohl denkbar, aber ich hab noch keine davon zum
Laufen gekriegt:

1. Ein entsprechendes "charset=..." in den Header der Seite einfügen.
Das ist kein Problem, aber welches Charset ist es denn?

2. Ein UNIX-Kommando, dass die Dateien entsprechend umbenennt,
meinetwegen kann das die Umlaute auch ganz auflösen: z.B. "ö"->"oe".
Momentan hab ich da was ziemlich Umständliches mit awk und tr laufen --
da gibt's doch bestimmt was Eleganteres ...

Wobei mir (1) lieber wäre ...



Ciao
Achim


PS: Sorry für das UTF-8-Posting, aber ich musste ja irgendwie die
komischen Sonderzeichen rüberbringen ;-)
--
_
ASCII ribbon campaign ( )
against HTML email X
& vCards / \
Andreas Prilop
2003-12-06 17:34:26 UTC
Permalink
Post by Achim Denzl
ich habe den Indianer auf meiner 10.3-Kiste so konfiguriert, dass er den
Inhalt eines Ordners auf der lokalen Platte als automatisch generiertes
Directory-Listing anzeigt (Option +Indexes).
Wende Dich an <news:de.comm.infosystems.www.servers> .
Post by Achim Denzl
Das klappt auch, nur sobald
Umlaute in den Dateinamen vorkommen, gibt's Probleme. Der Quelltext
Nicht-ASCII-Zeichen im Dateinamen sind ganz schlecht. Woher soll der
Server wissen, für welche Zeichen diese Bytes stehen? Das könnten ja
auch kyrillische Buchstaben sein.
Post by Achim Denzl
<LI><A HREF="Scho%cc%88neFru%cc%88chte.html"> Scho?neFru?chte.html</A>
^^^^^^^ ^^^^^^^ ^^^^ ^^^^
Der Link stimmt. Der Name stimmt nicht.
Der Link stimmt überhaupt nicht. Ich habe keine Ahnung, wie Du auf
CC88 kommst und was das sein sollte. Allenfalls könnte es
Scho%C3%B6neFr%C3%BCchte
heißen mit URL-Codierung der beiden Umlaute in UTF-8.
Post by Achim Denzl
1. Ein entsprechendes "charset=..." in den Header der Seite einfügen.
Das ist kein Problem, aber welches Charset ist es denn?
Eine Codierung ("charset") der Seite musst Du sowieso angeben.
Allerdings hat das mit Deinem Problem überhaupt nichts zu tun.
Post by Achim Denzl
2. Ein UNIX-Kommando, dass die Dateien entsprechend umbenennt,
meinetwegen kann das die Umlaute auch ganz auflösen: z.B. "ö"->"oe".
Das ist die beste Idee.
Achim Denzl
2003-12-06 23:12:39 UTC
Permalink
[f'up und x-post ignoriert]
Post by Andreas Prilop
Post by Achim Denzl
ich habe den Indianer auf meiner 10.3-Kiste so konfiguriert, dass er den
Inhalt eines Ordners auf der lokalen Platte als automatisch generiertes
Directory-Listing anzeigt (Option +Indexes).
Wende Dich an <news:de.comm.infosystems.www.servers> .
Nicht wirklich. Es geht ja nicht um eine Apache-Frage, sondern darum,
wie OS X die Umlaute bei Dateinamen kodiert oder ob es eine einfache
(eingebaute?) Lösung via Terminal gibt, Umlaute umzukodieren.
Post by Andreas Prilop
Post by Achim Denzl
Das klappt auch, nur sobald
Umlaute in den Dateinamen vorkommen, gibt's Probleme. Der Quelltext
Nicht-ASCII-Zeichen im Dateinamen sind ganz schlecht. Woher soll der
Server wissen, für welche Zeichen diese Bytes stehen? Das könnten ja
auch kyrillische Buchstaben sein.
Eben, deshalb frug ich ja nach dem charset, das OS X bei Dateinamen
verwendet. Sauberes UTF-8 scheint das jedenfalls nicht zu sein ...
Post by Andreas Prilop
Post by Achim Denzl
<LI><A HREF="Scho%cc%88neFru%cc%88chte.html"> Scho?neFru?chte.html</A>
^^^^^^^ ^^^^^^^ ^^^^ ^^^^
Der Link stimmt. Der Name stimmt nicht.
Der Link stimmt überhaupt nicht. Ich habe keine Ahnung, wie Du auf
CC88 kommst und was das sein sollte. Allenfalls könnte es
Scho%C3%B6neFr%C3%BCchte
heißen mit URL-Codierung der beiden Umlaute in UTF-8.
Der Link ist ja nicht meine Idee. Der Indianer erzeugt die Zeile
basierend auf dem Inhalt des zu listenden Ordners. Der Link funktioniert
problemlos.
Post by Andreas Prilop
Post by Achim Denzl
1. Ein entsprechendes "charset=..." in den Header der Seite einfügen.
Das ist kein Problem, aber welches Charset ist es denn?
Eine Codierung ("charset") der Seite musst Du sowieso angeben.
Allerdings hat das mit Deinem Problem überhaupt nichts zu tun.
Standardmäßig spuckt Apache bei einem Directoy-Listing kein charset-tag
aus. Läßt sich allerdings problemlos integrieren, zumal ich im konkreten
Fall sowieso eigene html-Header verwende.
Post by Andreas Prilop
Post by Achim Denzl
2. Ein UNIX-Kommando, dass die Dateien entsprechend umbenennt,
meinetwegen kann das die Umlaute auch ganz auflösen: z.B. "ö"->"oe".
Das ist die beste Idee.
Und in de.comm.infosystems.www.servers bestimmt nicht zu finden ;-)


Aber trotzdem Danke für die Hilfe. Ich behalte mal den Parallel-Thread
in dciws im Auge, vielleicht tut sich da was ...


Ciao
Achim
--
_
ASCII ribbon campaign ( )
against HTML email X
& vCards / \
Loading...