Beim Versuch, eine Zeichenfolge mit URLEncoder zu kodieren, kann es zu einem unerwarteten Verhalten kommen, bei dem Leerzeichen statt in „ “-Symbole umgewandelt werden der erwartete Hexadezimalcode.
Die URLEncoder-Klasse hält sich an die HTML-Spezifikationen für die Codierung von URLs in HTML-Formularen. Gemäß diesen Spezifikationen sollten Leerzeichen durch „ “-Symbole für Parameter im application/x-www-form-urlencoded MIME-Format ersetzt werden.
Um die gewünschte Kodierung zu erreichen, bei der Leerzeichen konvertiert werden bis „ “ können Sie die folgenden Schritte ausführen:
String encodedString = java.net.URLEncoder.encode("Hello World", "UTF-8"); encodedString = encodedString.replace("+", "%20");
Dadurch werden alle „ “-Symbole durch „ “ ersetzt, was zu einer korrekten Codierung gemäß Ihren Erwartungen führt.
Das obige ist der detaillierte Inhalt vonWarum kodiert URLEncoder Leerzeichen als „' statt „'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!