Hallo,
Also: Ich mache auf meinem Windows Rechner eine XSL-Transformation XML zu HTML. Dabei werden auch Javscript-Dateien erstellt. Diese Dateien können nun, bedingt durch die Transformation, z.B. Ü.js heissen. Später aber auch beliebige andere nicht deutsche Sonderzeichen. Diese sollen nun in die HTML-Seiten eingebunden werden, was auf meinem lokalen Apache unter Windows funktioniert.
In einer URI mit http://localhost/Ü.js? Das darf so nicht funktionieren, weil Ü.js hier ein path_segment ist. Alle Zeichen, außer US-ASCII und sogar einige US-ASCII-Zeichen müssen darin escaped sein. Siehe: http://www.faqs.org/rfcs/rfc2396.html. Wenn das also zufällig funktioniert, dann funktioniert das zufällig.
Schicke ich die Dateien aber auf meinen Linux-Server im Netz, funktioniert das nicht, was aber meines Erachtens nicht direkt an Linux liegt.
Welches Linux?
Der manuelle Aufruf: http://www.blabla.xy/Ü.js klappt nicht.
Allerdings http://www.blabla.xy/%DC.js geht.
Ja, dann sind die Dateinamen in einem ISO- bzw. Latin-Zeichensatz angelegt.
Nun könnte ich mir überlegen alle Aufrufe einfach umzuwandeln. Jedoch ist %DC nicht Unicode und wird daher irgendwann nicht mehr alle Sonderzeichen unterstützen.
Sendest Du denn die Dateinamen im UTF-8 encoding? Wie und womit überträgst Du die Dateien?
Ich weiß aber nicht, ob man in einer URL Unicode eingeben kann (z.B. %u00DC.js geht nicht :-)
Unicode direkt nicht, aber encoded UTF-8:
http://www.blabla.xy/%C3%9C.js
viele Grüße
Axel