Heim > Artikel > Backend-Entwicklung > [PHP] Beschreiben Sie kurz die Unterschiede zwischen URL-Code und RAW-URL-Code
In diesem Artikel geht es hauptsächlich um die Unterschiede zwischen URL-Code und RawURL-Code in PHP. Interessierte Freunde können mehr darüber erfahren.
Hintergrund der Veranstaltung:
Ich habe von Daniel gehört, dass bei der Entwicklung von h5-Minispielen zuvor das Back-End benutzerbezogene Informationen an das Front-End ausgeben musste Der Ausgabeinhalt umfasste: Benutzer-ID, Benutzer-Spitzname und andere Felder. Verwenden Sie die get-Methode, um Parameter zu übergeben. Das Backend verwendet die PHP-Sprache, um chinesische Spitznamen zu formatieren und zu kodieren, wobei die häufig verwendete URL-Code-Funktion verwendet wird.
Problem tritt auf:
Verwenden Sie die URL-Code-Funktion zum Formatieren. Die URL-Code-Funktion codiert Leerzeichen als: +
Von Natürlich kann das Frontend beim Empfang + dekodieren und durch Leerzeichen ersetzen. Dies ist jedoch ein zusätzlicher Schritt, der sehr mühsam ist. Manchmal wird unsere Datenschnittstelle für Dritte oder andere entwickelt, und diese folgen bei der Verarbeitung möglicherweise nicht unbedingt dieser Idee.
Wenn das Frontend beispielsweise Python verwendet, um es zu empfangen, es direkt zu dekodieren und anzuzeigen, hat der Spitzname ein +-Zeichen.
Lösung:
Verwenden Sie rawurlencode
In PHP kodiert URL-Code Leerzeichen als +-Zeichen. rawurlencode kodiert Leerzeichen als %20
PHP-HandbuchErklärung der beiden Funktionen von :
urlencode: Gibt eine Zeichenfolge zurück, außer -_, gefolgt von zwei hexadezimalen Ziffern. Diese Kodierung ist dieselbe wie die Kodierung von WWW-Formular-POST-Daten und dieselbe wie die Medientypkodierung von application/x-www-form-urlencoded. Aus historischen Gründen unterscheidet sich diese Kodierung von der RFC1738-Kodierung (siehe rawurlencode()) darin, dass Leerzeichen als Pluszeichen (+) kodiert werden.
rawurlencode: Gibt eine Zeichenfolge zurück, in der alle nicht-alphanumerischen Zeichen außer -_ durch ein Prozentzeichen ersetzt werden (%) gefolgt von zwei hexadezimalen Ziffern. Diese in RFC 1738 beschriebene Codierung soll verhindern, dass Literalzeichen als spezielle URL-Trennzeichen interpretiert werden, und das URL-Format vor einer Verstümmelung durch Zeichenkonvertierungen schützen, die vom Transportmedium (wie bei einigen Mailsystemen) verwendet werden.
Wenn Sie also PHP zum Übertragen der chinesischen Kodierung verwenden, verwenden Sie Rawurlencode
Verwandte Kurse: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt von[PHP] Beschreiben Sie kurz die Unterschiede zwischen URL-Code und RAW-URL-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!