Moin,
Ich kenne mich da ehrlich gesagt überhaupt nicht aus. Warum soll ich das nicht als %3F kodieren, sondern als HTML-Entity? Wie muss man generell in URIs kodieren, geht beides?
%XX ist URL-Kodierung, muss also verwendet werden, um dem Zeichen innerhalb der URL seine Sonderbedeutung zu nehmen, bzw. wenn zu erwarten ist, dass das Zeichen anders nicht durchkommt (alles was nicht printable ASCII ist).
&bla; ist eine HTML-Entity und zu verwenden wenn das Zeichen an dieser Stelle innerhalb von HTML Probleme machen würde (zum Beispiel ein Anführungszeichen innerhalb eines Attributwertes) oder nicht im grade ausgewählten Zeichensatz vorkommt.
Da an dieser Stelle keine Probleme mit dem URL zu erwarten sind, ja die Sonderbedeutung von & sogar gewünscht ist, konnte es sich nur noch um ein Problem mit HTML handeln und die HTML-Entity war die einzige logische Fehlerbehebung. Dass das & ausgerechnet in HTML _und_ URLs eine Sonderbedeutung hat, ist evt. etwas unglücklich gewählt.
--
Henryk Plötz
Grüße aus Berlin