Mailinglisten-Archive |
Manuel Hoßfeld schrieb dann heute: > > This differs from the RFC1738 encoding (see rawurlencode ) in that > > for historical reasons, spaces are encoded as plus (+ ) signs. [...] > Genau über diese Formulierung bin ich vor ein paar Monaten > nämlich auch schon gestolpert - wurde auch kurz hier diskutiert, > ich weiß allerdings nicht mehr so genau wann und mit wem (und > bin jetzt auch zu faul nachzusehen)... War ich, am 28. Mai :) Das sprachliche Problem ist, daß "in that" hier in der Bedeutung "darin daß" verwendet wird und nicht - wie man leicht vermutet - in der Bedeutung, "in dem". Und ein Komma fehlt. Sollte wirklich umformuliert werden, z.B. so: | The difference to the RFC1738 encoding is that spaces are encoded as | plus (+) signs, whereas RFC1738 encodes spaces as %20. Hier mein Text von damals: | Manuel Hossfeld schrieb am Donnerstag, den 27. Mai 1999: | > BTW: Weiß eigentlich jemand, wo genau der Unterschied zwischen | > urlencode() und rawurlencode() liegt? | | Die Frage hab' ich mir auch gestellt, als ich die beiden Funktionen | entdeckt hatte. :) | | > Die Doku liest sich an der Stelle ja sinngemäß wie "bei urlencode | > werden spaces durch + codiert, wohingegen bei rawurlencode space | > durch + codiert werden"... Häh? | | rawurlencode kodiert Leerzeichen als %20. Das ist der einzige | Unterschied zu urlencode, wo ein Plus erzeugt würde. | | Zum Testen: | for($i=0; $i<=255; $i++) { | $c = chr($i); $u1 = urlencode($c); $u2 = rawurlencode($c); | if ($i<32 or $i>=127 and $i<160) { $c = " "; } | printf("%3d %s : %-3s %-3s %s\n", $i, $c, $u1, $u2, $u1==$u2); | } | | Hintergrund: | Die Kodierung von Leerzeichen als Plus war eigentlich nie so per | Standard vorgesehen, aber Mosaic, einer der ersten WWW-Browser, | hatte es so implementiert - wahrscheinlich, damit derart kodierte | URLs etwas besser lesbar sind. | Die im Standard RFC 1738 definierte URL-Kodierung hat jedenfalls | diese Sonderregel für Spaces nicht. | | Wenn man also nicht sicher weiß, nach welcher der beiden | Konventionen der Empfänger eine URL-Kodierung dekodieren wird, | sollte man sicherheitshalber "rawurlencode" verwenden, denn | dann kann beim Dekodieren nichts schiefgehen. Ciao, Martin -- Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://ramsch.home.pages.de/ > PGP: 0xE8EF4F75, 52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7
php::bar PHP Wiki - Listenarchive