2010-11-24 13 views
1

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.

+1

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

Antwort

2

Überprüfen Sie diesen Artikel http://www.dracos.co.uk/code/apache-rewrite-problem/ über das RewriteRule-Problem.

+0

Ja, das ist es. Nach ein paar weiteren Tests wurde mir klar, dass es sich wahrscheinlich um ein Apache-Problem und nicht um ein Cake-Problem handelte. Danke für die Information, es macht alles klar. Prost. – Soulriser

+0

Froh, dass Sie Ihr Problem gelöst haben – riotera