Zum Hauptinhalt springen

Query-String-Parameter richtig kodieren

Das Tool hat zwei Modi. „Komponente“ (encodeURIComponent) ist für einen einzelnen Parameternamen oder -wert gedacht, „Vollständige URL“ (encodeURI) für eine komplette URL mit bereits korrekter Struktur. Eine Verwechslung ist die häufigste Ursache für kaputte Query-Strings.

Durchgerechnetes Beispiel

„Vollständige URL“ lässt das & im Wert stehen, daher liest der Server zwei Parameter statt einem.

Eingabe
https://example.com/search?q=salt & pepper&page=2
Ergebnis · encodeURI()
https://example.com/search?q=salt%20&%20pepper&page=2

Parameter, die ein Server liest

  • "q" = "salt "
  • " pepper" = ""
  • "page" = "2"

Wird der Wert zuerst im Modus „Komponente“ kodiert, bleibt er ein einziger Parameter.

Eingabe
salt & pepper
Ergebnis · encodeURIComponent()
salt%20%26%20pepper

https://example.com/search?q=salt%20%26%20pepper&page=2

Parameter, die ein Server liest

  • "q" = "salt & pepper"
  • "page" = "2"

Modus „Komponente“ und „Vollständige URL“ im Zeichenvergleich

ZeichenKomponenteVollständige URL
:%3A:
/%2F/
?%3F?
#%23#
&%26&
=%3D=
+%2B+
␠%20%20
é%C3%A9%C3%A9

So geht das Tool vor

  • Kodieren Sie jeden Parameternamen und -wert einzeln im Modus „Komponente“, der & = ? # + und / maskiert.
  • Verbinden Sie die kodierten Paare als name=wert mit & und hängen Sie das Ergebnis hinter dem ? an die URL.
  • Nutzen Sie „Vollständige URL“ nur für eine ganze URL: Dieser Modus lässt : / ? # & = + unverändert und schützt daher keinen Wert, der diese Zeichen enthält.

Anleitungen zur URL-Kodierung