Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problem with Zend Framework and UTF-8 characters (æøå)

Hope here are some with more knowledge about Zend Framework than me, I've been trying to search for the answer but I'm not able to fin anything anywhere.

Problem:

When adding the content of a Zend_Form to the database with the use of Zend_Db the characters æ ø å is replaced by øæå

System

  • WampServer 2.0i
    • Apache 2.2.11
    • MySQL 5.1.36
    • PHP 5.3.0
  • Zend Framework 1.10.0

Modifications done to make it work (which it does not)

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

To all forms I've added

->setAttrib('accept-charset', 'utf-8');

And in Bootstrap.php I've placed the following code:

$view->setEncoding('UTF-8');
$view->doctype('XHTML1_STRICT');
$view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');

The database is set to utf8_general_ci

Anyone have a tip on how to get it to work?

Soulution:

It's a bug in PHP 5.3.0 and 5.3.1 ( http://bugs.php.net/bug.php?id=47224 ) so I choose to downgrade to 5.2.11, and all worked like a charm.

Thanks to Pekka and Greg K for pointing me in the right direction.

like image 806
Christian Frøystad Avatar asked Feb 01 '10 17:02

Christian Frøystad


1 Answers

Listening to your description, the data departs from the form as UTF-8. Could it be that your database tables themselves are still latin1?

like image 139
Pekka Avatar answered Nov 03 '22 00:11

Pekka