hab ich gerade
wollte nur feedback von anderen deutschen entwicklern...
vielleicht hat der ein oder andere es ja anders gelöst, als alle
functions umzuschreiben.. :)
On 22 Jul., 16:30, "Sascha Fröhlich" <[EMAIL PROTECTED]>
wrote:
> Kannst Du das an die Entwickler weitergeben? Das wäre sicherlich sinnvoll
> :-)
>
> Am 22. Juli 2008 14:43 schrieb Mark (München) <[EMAIL PROTECTED]>:
>
>
>
> > HAH
> > ich weiß nun woran das problem lag..
>
> > cakePHP setzt noch nicht das interne encoding
> > UND benutzt die falschen funktionen....
>
> > mb_internal_encoding ( 'UTF-8');
> > sollte irgendwo gesetzt werden manuell
> > (selbst Configure::write('App.encoding', 'UTF-8'); allein reicht dazu
> > leider nicht aus!)
>
> > und die funktionen müssen alle die mb_ .. sein
>
> > also
>
> > erfordert ein Hacken des cake/ verzeichnisses (die datei
> > validation.php):
>
> > function minLength($check, $min) {
> > $length = strlen($check);
> > return ($length >= $min);
> > }
>
> > wird z.b. zu
>
> > function minLength($check, $min) {
> > $length = mb_strlen($check,'UTF-8');
> > return ($length >= $min);
> > }
>
> > dann klappt auch alles. endlich
> > hat mich den letzten nerv gekostet
> > sogar die anzahl der stringlänge wird nun korrekt wiedergegeben...
>
> > On 22 Jul., 13:29, Mark (München) <[EMAIL PROTECTED]> wrote:
> > > Kann es sein, dass dies ein Bug ist?
>
> > > Wenn ich ein contact Formular anlege (contact_app, contact als view
> > > und contact als model)
> > > und darin dann ohne datenbank einfach
>
> > > var $useTable = false;
>
> > > var $validate = array(
> > > 'name' => array(
> > > 'minLength' => array(
> > > 'rule' => array('minLength', 2),
> > > 'message' => 'At least 2'
> > > )
> > > ),
> > > 'email' => array(
> > > 'minLength' => array(
> > > 'rule' => array('minLength', 2),
> > > 'message' => 'At least 2'
> > > )
> > > );
>
> > > function schema() {
> > > return array(
> > > 'name' => array('type' => 'string' ,
> > > 'null' => '', 'default' =>
> > > '', 'length' => '10'),
> > > 'email' => array('type' => 'string' ,
> > > 'null' => '', 'default' =>
> > > '', 'length' => '15'),
> > > 'title' => array('type' => 'string' , 'null'
> > > => '', 'default' =>
> > > '', 'length' => '20'),
> > > 'message' => array('type' => 'text' , 'null'
> > > => '', 'default' =>
> > > '')
> > > );
> > > }
>
> > > das schema anlege,
> > > werden die maxLength korrekt eingebaut.
>
> > > Allerdings scheint das mit der UTF8 (aus der Datenbank beim "echten"
> > > Schema ja sicher drin) nicht mitgenommen zu werden.
>
> > > Wenn ich nun im Formular etwas wie "Gärtner" bei Name eintrage, wird
> > > das feld zwar validiert, aber nicht mehr im Formularfeld eingetragen
> > > (also wegen invalid content etc. gelöscht vermute ich)
> > > Alle anderen Felder tragen sich wieder in die Felder ein.
> > > Ich kann dieses feld natürlich im Senden der Email verwenden, sofern
> > > kein Fehler passiert.
> > > Denn nur dann hab ich noch Zugriff darauf (im $_POST).
> > > Sobald die validierung fehlschlägt, wird ja wieder das Formular
> > > angezeigt, mit eben dann leeren Feldern wo Umlaute drin waren...
>
> > > Wenn ich das Feld mit htmlentities() im controller vorher umwandle,
> > > wird mir dann die ä etc ausgegeben.
> > > Also macht das CakePHP im Hintergrund tatsächlich weg.
> > > Ist natürlich doof.
> > > Kann ich das irgendwie beheben, das Problem?
--~--~---------~--~----~------------~-------~--~----~
Bitte bei Fragen immer auch die aktuell verwendete cakePHP Version angeben und
wenn möglich auch das verwendete Betriebssystem und die PHP Version. Danke.
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google Groups-Gruppe
"CakePHP-de für deutsche CakePHP Entwickler".
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an [email protected]
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an [EMAIL
PROTECTED]
Weitere Optionen finden Sie in dieser Gruppe unter
http://groups.google.com/group/cakephp-de?hl=de
-~----------~----~----~----~------~----~------~--~---