Grüße,CakePHP Encoding HTML Entities
Ich habe ein seltsames Problem mit Daten an Cake über URL-Pfad gesendet. Wenn der Pfad URL-codierte Entitäten enthält, werden die codierten Zeichen scheinbar entfernt und der Rest des URL-Pfads wird nicht an meinen Controller übergeben. Zum Beispiel:
http://mydomain.com/products/search/pants+%26%2A%25+shoes/1/pg-2/
Dies sollte die Zeichenfolge pants &*% shoes
um meine Produkte Controllers search()
Aktion als erstes Argument, mit 1
und pg-2
wie die beiden anderen args passieren. Aber stattdessen bekomme ich einfach pants
(mit Leerzeichen) als erstes Argument und kein zweites oder drittes Argument. Ich habe sichergestellt, dass die Sanitize-Klasse nicht verwendet wird und ich habe Configure::write('App.encoding', 'UTF-8');
festgelegt.
Irgendwelche Gedanken?
Dank Trauben,
-Saturn
Update: Kuchen werden% 26 als ein kaufmännischen Separator von Query-String-Argumenten zu sehen. Sollte Cake den Unterschied zwischen einem Abfragezeichenfolgentrennzeichen und einem Literalzeichen nicht kennen? Oder fehlt mir etwas blutendes offensichtlich? (Ich habe viele Stunden gearbeitet ...)
Update 2: Ich denke, das kann ein Fehler sein.
http://mydomain.com/products/search/?q=pants%20%2A%24%25%5E%26%20shoes&cat=1&pg=2
Kuchen parsen es richtig, das heißt, werden die verschiedenen args als Query-String-params in $this->params['url']
gespeichert: Wenn ich eine URL wie geben. Der Schluckauf scheint nur zu sein, wenn ein verschlüsseltes Et-Zeichen im URL-Pfad verwendet wird.
Übrigens verwende ich die neueste Kuchen 1.3.6.
Ich bin sehr daran interessiert, jemandes Meinung zu diesem Thema zu wissen. Vielen Dank.
Ich kann bestätigen, dass die URL nach dem ersten Et-Zeichen abgeschnitten ist. Es ist vielleicht am besten, ein Ticket dafür zu reservieren. – deceze