我习惯在第4个参数(驱动程序选项)中使用类似的东西创建PDO对象:
array(\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES {$this->charset} COLLATE {$this->collation}")
我如何告诉symfony 2这样做?在配置文件中,我只能看到'charset'选项。
我还需要使用特定的排序规则创建所有表:utf8_unicode_ci
如果使用该排序规则而不是latin1创建通过命令行创建的所有表,我该怎么办?
答案 0 :(得分:1)
我一直面临同样的问题。这似乎与DBAL配置有关。我在PDO文档中找到了以下PDO_MYSQL DSN - 连接MySQL数据库:
charset目前被忽略。
答案 1 :(得分:1)
我的解决方案是在数据库级别手动应用排序规则。然后,使用schema update命令在Symfony2中创建的所有表都将具有正确的排序规则。
我还在我的Sf2学说中添加了这一行:config.yml中的dbal配置:
charset: utf8