Spero che qui ci sia qualcuno con più conoscenze su Zend Framework di me, ho cercato di cercare la risposta, ma non sono in grado di trovare nulla ovunque.Problema con i caratteri Zend Framework e UTF-8 (æøå)
Problema:
Quando si aggiunge il contenuto di uno Zend_Form al database con l'uso di Zend_Db personaggi æ ø A è sostituito dal øÃ|à ¥
sistema
- WampServer 2.0i
- Apache 2. 2.11
- MySQL 5.1.36
- PHP 5.3.0
- Zend Framework 1.10.0
Modifiche realizza al farlo funzionare (che non)
application.ini
resources.db.adapter = "pdo_mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "//Brukernavn//"
resources.db.params.password = "//Passord//"
resources.db.params.dbname = "//Database//"
resources.db.params.charset = "utf8"
resources.db.params.driver_options.1002 = "SET NAMES utf8"
resources.db.isDefaultTableAdapter = true
a tutte le forme che ho aggiunto
->setAttrib('accept-charset', 'utf-8');
E in bootstrap.php ho messo il seguente codice:
$view->setEncoding('UTF-8');
$view->doctype('XHTML1_STRICT');
$view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
Il database è impostato su utf8_general_ci
Qualcuno ha un suggerimento su come farlo funzionare?
Soulution:
Si tratta di un bug in PHP 5.3.0 e 5.3.1 (http://bugs.php.net/bug.php?id=47224 ), così ho scelto di downgrade a 5.2.11, e tutto ha funzionato come un fascino.
Grazie a Pekka e Greg K per avermi indicato nella giusta direzione.
Credo abbia detto che il database è impostato su 'utf8_general_ci' –
Oh sì, lo ho sovrascritto. Tuttavia, anche le tabelle e le loro colonne devono essere utf-8 (la conversione del db non è sufficiente). Se conferma che le tabelle e le colonne sono UTF-8, eliminerò questa risposta. –
Grazie per la risposta. In realtà avevo dimenticato di convertire i campi stessi, ma nessun cambiamento di comportamento dopo averlo fatto. –