Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Urlencode Leerzeichen unterschiedlich ersetzt

Frage Entwicklung PHP

Mitglied: EvilMoe

EvilMoe (Level 2) - Jetzt verbinden

29.10.2012 um 20:20 Uhr, 2937 Aufrufe, 5 Kommentare

Guten Abend,

mir ist etwas merkwürdiges aufgefallen. Auf einer Seite nutze ich urlencode und urldecode.
Das merkwürdige ist das dass Leerzeichen unterschiedlich ersetzt wird, manchmal ein "%20" und manchmal ein "+". Soweit ich das gelesen habe dürfte ausschließlich ein "%20" kommen und wenn ich rawurlencode verwende ein "+".

Nun woran könnte das liegen? Gibt es eine PHP Einstellung dafür?



Sven
Mitglied: nxclass
30.10.2012 um 09:23 Uhr
Formulardaten in URLs werden zu "+", reine URL Teile zu %20

  • multipart/form-data MIME encoding und application/x-www-form-urlencoded wird Space zu "+"
  • rawurlencode "%20"
Bitte warten ..
Mitglied: EvilMoe
30.10.2012 um 09:25 Uhr
Hallo,

es handelt sich dabei nicht um Formulare.
Es geht um dynamische Links die damit escapet werden.


Sven
Bitte warten ..
Mitglied: bytecounter
30.10.2012 um 09:50 Uhr
Dann wären ein paar Infos mehr nicht schlecht. Ich hätte auch vermutet, dass es an Formulardaten liegt.

lg
Bitte warten ..
Mitglied: nxclass
30.10.2012, aktualisiert um 23:53 Uhr
Möglich dass nur "+" (altes encoding) verwendet wird wenn keine Sonderzeichen in dem zu "encodenden String" enthalten sind.
Am besten mal eine Liste mit Beispielen generieren.

edit:
01.
'www.google.de/s p a c e/?t e s t'
  • rawurlencode() alle spaces werden zu %20
  • urlencode() alle werden zu +

Evtl. ist das ein anzeige Problem - beachte das viele Browser den Code nochmal "Nachformatieren"
Bitte warten ..
Mitglied: EvilMoe
31.10.2012 um 22:30 Uhr
Das Problem ist leider doch etwas komplexer.
Wenn ich so ein Beispiel mache erscheint der richtige Output.

Ich verwende als Template und Cache Engine SMARTY. Ich verwende überall im Code NUR urlencode, KEINE andere Funktionen. Trotzdem sehe ich manchmal ein "%20" statt ein "+" in der URL. Vielleicht liegt es auch an SMARTY, ich weiß es nicht.
Bitte warten ..
Ähnliche Inhalte
Administrator.de Feedback
gelöst Bug? "m f g" (ohne Leerzeichen) wird auch in URL ersetzt (7)

Frage von emeriks zum Thema Administrator.de Feedback ...

C und C++
gelöst C++ andere EXE aufrufen, Probleme mit Leerzeichen im Pfad (14)

Frage von pablovic zum Thema C und C ...

Batch & Shell
gelöst Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (22)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...