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
Umalute im Pfadnamen
-
projekt2501
- Posts: 92
- Joined: 2003-08-14 08:23
- Contact:
Re: Umalute im Pfadnamen
PHP -> urlencode(String) ist dein Freund :)
Beispiel zum encoden von 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.
Beispiel zum encoden von Jürgen:
Code: Select all
<?
echo htmlentities(urlencode("Jürgen"));
?>Bedenke, wenn du den gesamten Pfad encoden willst, dass diese Funktion auch alle "/" usw. mitencoded, ggf. vorher den pfad splitten und nachher wieder implodieren.
-
jürgen2372
- Posts: 17
- Joined: 2004-08-31 23:00
Re: Umalute im Pfadnamen
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.
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
In diesem Fall: Nein, kannst du nicht einstellen.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.
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