Stefan Falz: Sonderzeichen im Querystring

Beitrag lesen

Eines unserer Produkte kann via Internet Support-Seiten aufrufen. Da der Querystring des Aufrufes aber irgendwo aus der Versionsnummer ausgelesen wird, endet der Querystring mit "P=OBJECTIF®"
In der entsprechenden ASP-Seite gibt's da ne passende Abfrage zu:

select case request.querystring("P")
...
case ("OBJECTIF®")

»»  productname="objectiF"

...
end select

Hallo,

zuerst einmal wäre die entsprechende Fehlermeldung sicherlich sehr
hilfreich gewesen. Naja, beim nächsten Mal.

Generell sollte man Daten, die per GET (QueryString) übermittelt werden,
per Server.URLEncode(Text) übergeben werden. In Deinem Fall wäre das
dann: <a href="test.asp?P=<%=Server.URLEncode("OBJECTIF®")%>">Link</a>
Wenn sich das im Programm ändern läßt, ist diese Methode auf jeden Fall vorzuziehen.
Wenn nicht, kannst Du auch folgendermaßen abfragen:

Select Case Server.HTMLEncode(Request.QueryString("P"))
   Case Server.HTMLEncode("OBJECTIF®"): ...
End Select

Das sollte auch funktionieren.

Tschau, Stefan