Callam Geschrieben 3. April 2011 Geschrieben 3. April 2011 Hi, ich habe mir vor ein paar Tagen ein Buch zu CakePHP gekauft und versuche nun die Beispiele nachzubauen. Bei der Ausgabe einer View bekomme ich immer eine Fehlermeldung: Warning (2): htmlentities() [function.htmlentities]: charset `2' not supported, assuming iso-8859-1 [CORE\cake\libs\view\helpers\html.php, line 298] Code | Context $title = "Details" $url = "/cakephp/jobs/jobs/view" $options = "2" $confirmMessage = false $escapeTitle = "2" htmlentities - [internal], line ?? HtmlHelper::link() - CORE\cake\libs\view\helpers\html.php, line 298 include - APP\views\jobs\index.ctp, line 21 View::_render() - CORE\cake\libs\view\view.php, line 731 View::render() - CORE\cake\libs\view\view.php, line 426 Controller::render() - CORE\cake\libs\controller\controller.php, line 909 Dispatcher::_invoke() - CORE\cake\dispatcher.php, line 207 Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 171 [main] - APP\webroot\index.php, line 83 Fatal error: Cannot unset string offsets in C:\xampp\htdocs\cakephp\cake\libs\view\helpers\html.php on line 303 Die View sieht so aus: <table> <tr> <th>ID</th> <th>Firma</th> <th>Titel</th> <th>Angebot vom</th> <th>zuletzt Aktualisiert</th> <th>Aktionen</th> </tr> <?php foreach($jobs as $job): ?> <tr> <td><?php echo $job['Job']['id']; ?></td> <td><?php echo $job['Job']['company']; ?></td> <td><?php echo $job['Job']['title']; ?></td> <td><?php echo $job['Job']['created']; ?></td> <td><?php echo $job['Job']['modified']; ?></td> <td> <?php echo $this->Html->link('Details', 'jobs/view',$job['Job']['id']); ?> <?php echo $this->Html->link('bearbeiten', 'jobs/edit',$job['Job']['id']); ?> <?php echo $this->Html->link('löschen', 'jobs/delete',$job['Job']['id']); ?> </td> </tr> <?php endforeach; ?> </table> Der Zeichensatz der DB-Tabelle ist latin1_swedish_ci und der von meinen php und ctp Dateien ist ISO 8859-1. Webserver ist eine Xampp Installation unter Win 7, PHP Version ist 5.3.5, CakePHP ist Version 1.3.8.0 Was mache ich da falsch? Zitieren
DrDreist Geschrieben 5. April 2011 Geschrieben 5. April 2011 Du solltest es vermeiden versch. Zeichensätze zu verwenden. Gewöhn dir am Besten heute schon an UTF-8 zu verwenden und zwar überall - es sei den du programmierst für den asiatischen Raum dann UTF-16. In der app/config/core.php findest du den Eintrag Configure::write('App.encoding', 'UTF-8'); dort "könntest" du auf diverse Standards umstellen. Davon rate ich dir aber dringend ab. Ändere in deiner DBMS die Kollation auf utf8_general_ci. Achte darauf, das sowohl die Tabellen als auch die Datenbank selbst auf diese Kollation eingerichtet sind. Um Darstellungsfehler in Browsern zu vermeiden solltest du <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> dem Client die Kodierung bekannt machen. Hoffe das hilft Auch bei dem in Webbrowsern verwendeten HTML setzt sich UTF-8 zur Darstellung sprachspezifischer Zeichen zunehmend durch und ersetzt die vorher benutzten HTML-Entities[3]. Wikiepdia.de Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.