通过Symfony2配置DBAL来设置字符集
问题描述:
有没有人知道在Symfony2(symfony-reloaded)yml配置文件中配置DBAL/Doctrine2来执行“set names”查询的方法?这个问题已经在其他地方问过了,但是我找不到正确的答案。通过Symfony2配置DBAL来设置字符集
http://fossplanet.com/f6/%5Bsymfony-users%5D-symfony2-sandbox-database-collation-49626/
如果没有这样的配置选项,我怎么能实现这个使用PHP?或者更好:Symfony2项目的正确位置在哪里?
答
这是不可能的。我正在努力允许这项工作早日实现。
答
好的,只是对于任何其他人可能遇到这个问题。这是我做过什么:
我结束了继承Symfony\Bundle\FrameworkBundle\Controller\Controller
和介绍的方法getEntityManager
:所以每次
public function getEntityManager()
{
$em = $this->get('doctrine.orm.entity_manager');
static $utf8_set = false;
if (!$utf8_set) {
$em->getEventManager()->addEventSubscriber(new MysqlSessionInit('utf8','utf8_unicode_ci'));
$utf8_set = true;
}
return $em;
}
我要访问我的控制器EntityManager
或储存库(当然,现在继承DoctrineController
)我打电话
$this->getEntityManager()
resp。
$this->getEntityManager()->getRepository('What\Ever\Entity\I\Am\Looking\For')
感谢您的回应!在上面链接的例子中,作者正在其他地方进行这种配置,你能想象一下这会是一个好地方吗?我想用symfony2/doctrine2/mysql做一些utf8的工作! – Paul 2011-01-15 09:51:44
OK,这个补丁是前几天应用于Symfony的,语法是: doctrine.dbal: 连接: 默认: 字符集:UTF-8 – beberlei 2011-01-20 08:27:13