ed1*_*103 0 php mysql zend-framework doctrine-orm
我有一个使用Zend Framework编写的CMS应用程序,允许您翻译内容.这适用于德语和法语字符,但正在与波兰语挣扎,我已正确设置数据库和连接(据我所知)但我仍然得到垃圾存储并返回波兰语.数据库是utf8_general_ci,字段也是.Doctrine connection params:resources.entityManager.connection.charset ="utf8"resources.entityManager.connection.default.parameters.driverOptions.1002 ="SET NAMES'UTF8'"
发布翻译的数据库表单的页面有:header('Content-type:text/html; charset = utf-8'); (在顶部)[meta http-equiv ="Content-Type"content ="text/html; charset = utf8"/](在head标签中)
我对保存到数据库的字符串没有额外的编码(doctrine 2):
$cn->setContent($pageForm->getValue($field));
Run Code Online (Sandbox Code Playgroud)
所以,法国人和德国人对此很满意,但是下面的波兰语:specjalisty wprodukcjazawieszeń,szybkość
商店和视图:specjalisty wprodukcjazawieszeÅ",szybkoÅ>ć
我正在与这个圈子围成一圈,所以任何想法都会非常感激.
设置'charset' => 'utf8'在orm_default在配置在我的情况下解决了这个问题.
<?php
return array(
'doctrine' => array(
'connection' => array(
'orm_default' => array(
'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => array(
'host' => 'localhost',
'user' => 'dbuser',
'password' => 'dbpass',
'dbname' => 'dbname',
'charset' => 'utf8',
// ^^^^^^^^^^^^^^^^^^^^^
)
)
),
'driver' => array(
'zfcuser_entity' => array(
'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'paths' => 'module/Application/src/Application/Entity',
),
'orm_default' => array(
'drivers' => array(
'Application\Entity' => 'zfcuser_entity',
),
),
),
),
'zfcuser' => array(
'user_entity_class' => 'Application\Entity\User',
'enable_default_entities' => false,
),
);
Run Code Online (Sandbox Code Playgroud)