Hi,
Aber der interne Gebrauch von Umlauten ist doch in Ordnung, wenn der Server das unterstützt, oder? Wenn meine URL mit %c3%a4 statt ä aufgerufen wird, ich dann aber Umlaute in der DB gespeichert habe und diese auch als solche ausgebe. Die werden dann auch immer als Umlaute und nicht als merkwürdige Zeichen ausgegeben, oder ist das Client-abhängig??
Wenn du an allen relevanten Stellen angibst, welche Kodierung verwendet wird - dann hat der Client da keinen Entscheidungsspeilraum mehr.
Wenn ich die ASCII URL in ner Variable speichere und diese ausgebe, werden automatisch wieder Umlaute angezeigt (ist das immer so? Musste garnicht urldecode() benutzen..)
Dass zwischen dem, was im HTML steht, und dem, was irgendwo angezeigt wird (Statuszeile, Adresszeile), zu differenzieren ist, schrieb ich bereits.
Außerdem: FF zeigt (trotz ASCII URL im Quellcode) die URL mit Umlauten an (IE nicht).
Dass zwischen ... schrieb ich bereits. (S.o.)
Also wenn dann die URL kopiert wird habe ich das selbe Problem wie vorher. Kann ich FF zwingen, die %ab%cd Angabe anzuzeigen?
Welches Problem hast du dann?
Mein Firefox hat damit keins.
Wenn ich ein ä in der Adresszeile eintippe, dann sendet er ein URL-gerecht kodiertes UTF-8 ä an den Server.
Mein Ziel ist, dass eben nicht nur international gültige URLs benutzt werden, sondern auch Leute, die per Hand Umlaute in der URL eingeben auf die selbe Seite gelangen.
Ob das klappt, hängt davon ab, wie die Leute in ihrem Browser eingestellt haben, dass URLs kodiert werden sollen.
In aktuellen Opera- und IE-Versionen ist m.W. UTF-8 der Default; im aktuellen Firefox finde ich das wie folgt differenziert,
network.standard-url.encode-query-utf8 - false
network.standard-url.encode-utf8 - true
Warum man sich hier für diese Defaultwerte entschieden hat - URLs zwar erst mal generell als in UTF-8 vorliegend zu betrachten, im Querystring auftauchende Sonderzeichen jedoch nicht, erschliesst sich mir allerdings nicht, im Gegenteil, es erscheint mir ziemlich inkonsequent.
Da du aber mittels mod_rewrite „schöne” URLs umschreibst, also höchstvermutlich noch gar kein Path vorhanden ist, in dem irgendwelche Sonderzeichen eine Rolle spielen könnten, sehe ich das hier auch als eher unproblematisch an.
Wenn du aber wirklich auf Nummer sicher gehen wolltest - dann müsstest du auf alle Sonderzeichen, die ausserhalb von ASCII liegen, verzichten.
MfG ChrisB
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]