Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

CakePHP - Zeichensatz

Empfohlene Antworten

Veröffentlicht

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?

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.