Page 1 of 1

Umalute im Pfadnamen

Posted: 2004-09-03 16:57
by jürgen2372
Hi

Habe geuscht und nix passendes zu meinem Fall gefunden:

Auf meinem Linux-Server (suse 9.0) versuch ich, die folgende URL aufzurufen:
http://www.chat4sms.com/profiles/muench ... ld_3_m.jpg
Der Pfad (inkl. Umlaut) und das zugehörige Bild existieren auf dem Server.
ICh weiss, dass das ü das Problem ist und das error_log sagt:
File not found: profiles/muenchen/J/Jxc3xbcrgen

In /etc/sysconfig/language steht:
RC_LANG="de_DE.UTF-8"
Hatte dort auch mal de_DE@euro eingetragen, wie ich in anderen Thread gelesen hatte, doch ohne Erfolg.

Wie und wo stell ich das denn korrekt ein, damit der Pfad korrekt aufgelöst wird.

Und ich weiss: Man könnte das auch anders (ohne Umlaute) machen, aber das liegt nicht in meiner Entscheidung.

Thx so far

Re: Umalute im Pfadnamen

Posted: 2004-09-03 20:58
by projekt2501
PHP -> urlencode(String) ist dein Freund :)

Beispiel zum encoden von Jürgen:

Code: Select all

<?
	echo htmlentities(urlencode("Jürgen"));
?>
Das htmlentities ist nur für eine in jedem Fall korrekte Ausgabe im Browser. Für deine Scripte sollte es ohne Relevanz sein.
Bedenke, wenn du den gesamten Pfad encoden willst, dass diese Funktion auch alle "/" usw. mitencoded, ggf. vorher den pfad splitten und nachher wieder implodieren.

Re: Umalute im Pfadnamen

Posted: 2004-09-03 21:30
by jürgen2372
Jo, wenn ein Skript das empfangen und auswerten soll, kann man das gut machen und kannte ich auch vorher schon. Aber (siehe Link oben) wird direkt ein jpg aufgerufen und dazwischen gibts kein Skript.
Aus http://www.chat4sms.com/profiles/muench ... ld_3_s.jpg schreibt er im Logfile übrigens: File does not exist: ...html/profiles/muenchen/J/Jxfcrgen


Klar kann ich jetzt ein Skript dazwischen schalten, welches mir den Request empfängt und das Bild dann lädt. (Muss aber nicht sein, schliesslich ist alles, was zusätzlich ist, unnötig)

Ich würde gerne erst mal wissen, ob man am Apache oder sonstwo einstellen kann, ob und wie er Umlaute 'korrekt' handlen kann oder nicht.

Re: Umalute im Pfadnamen

Posted: 2004-09-04 20:43
by kess
Ich würde gerne erst mal wissen, ob man am Apache oder sonstwo einstellen kann, ob und wie er Umlaute 'korrekt' handlen kann oder nicht.
In diesem Fall: Nein, kannst du nicht einstellen.

Der Apache verwendet für die Codierung von Verzeichnis- und Dateinamen die Codierung des zugrundeliegenden Filesystems. Logisch, was soll er auch sonst tun?

Wenn dein System UTF-8 verwendet, dann ist %c3%bc für ein kleines ü korrekt. Bei ISO-8859-1 muss es %fc sein. Wenn beides nicht funktioniert, liegt wohl noch eine andere Codierung vor.

Lass dir doch vom Apache selbst ausgeben, was er braucht. Am einfachsten erreichst du das, indem du für http://www.chat4sms.com/profiles/muenchen/J/ einen Verzeichnisindex ausgeben läßt. Die Response-Header nennen dir dann das entsprechende Charset. Klickst du dann das Verzeichnis Jürgen an, hast du anschließend in der Adresszeile des Browsers die korrekte Kodierung.

Viel Erfolg
Kess