Wie kann ich Leerzeichen in Zeichenfolgen konvertieren %20
?
Hier ist mein Versuch:
$str = "What happens here?";
echo urlencode($str);
Die Ausgabe ist "What+happens+here%3F"
, daher werden die Leerzeichen nicht als dargestellt %20
.
Was mache ich falsch?
Das Pluszeichen ist die historische Codierung für ein Leerzeichen in URL-Parametern, wie in der Hilfe für die
urlencode()
Funktion dokumentiert .Dieselbe Seite enthält die Antwort, die Sie benötigen - verwenden Sie
rawurlencode()
stattdessen, um eine RFC 3986- kompatible Codierung zu erhalten.quelle
Ich glaube, wenn Sie die
%20
Variante verwenden müssen, könnten Sie vielleicht verwendenrawurlencode()
.quelle