mixmastertobsi: urlencode bei PHP und Javascript

Hallo,

ich habe ein Problem mit urlencode.

Wenn ich folgenden String - {"preis":[10,100]} - mit urlencode "formatiere", kommt das raus, was in meinem Beispiel korrekt wäre.

%7B%22preis%22%3A%5B10%2C100%5D%7D

Nun möchte ich das selbe mit JS/JQUERY machen, allerdings codiert er hier nicht korrekt. Probiert habe ich encodeURI und encodeuricomponent.

Als Ergenis bekomme ich folgendes - es werden also nicht alle Zeichen "codiert". Was mache ich falsch?

%7B%22preis%22:%5B10,100%5D%7D
  1. Als Ergenis bekomme ich folgendes - es werden also nicht alle Zeichen "codiert". Was mache ich falsch?

    Welche Zeichen prozentkodiert werden steht in RFC 3986 -- also da mal reingucken. Es liegt auf der Hand, dass z.b. das & in der Komponente kodiert werden muss weil es als Trennzeichen eingesetzt wird.

  2. @@mixmastertobsi

    Probiert habe ich encodeURI und encodeuricomponent.

    Du meinst encodeURIComponent()?

    Als Ergenis bekomme ich folgendes - es werden also nicht alle Zeichen "codiert". Was mache ich falsch?

    Du erkennst den Unterschied zwischen beiden Funktionen nicht.

    LLAP 🖖

    --
    “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
  3. Tach!

    Als Ergenis bekomme ich folgendes - es werden also nicht alle Zeichen "codiert". Was mache ich falsch?

    Eine URL hat mehrere Bereiche, in denen Daten stehen können. Die beiden wesentlichsten sind der Pfad und der Querystring. Für beide gelten unterschiedliche Regeln, welche Zeichen maskiert werden müssen und welche nicht. Obendrein kann man auch noch mehr als die unbedingt notwendigen Zeichen kodieren. Es ist also nicht unbedingt ein Fehler, wenn einige Funktionen weniger als andere kodieren. Die Funktionen jedenfalls sind üblicherweise auf einen der beiden Bereiche spezialisiert.

    dedlfix.