Доктрина Dbal: Как установить сопоставление? (в Symfony2) - PullRequest
2 голосов
/ 30 июня 2011

Я привык к созданию объекта PDO с чем-то вроде этого в 4-м параметре (параметры драйвера):

array(\PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES {$this->charset} COLLATE {$this->collation}")

Как я могу сказать Symfony 2 сделать это? В файле конфигурации я вижу только опцию 'charset'.

Мне также нужно создать все таблицы с определенным сопоставлением: utf8_unicode_ci

Что можно сделать, чтобы все таблицы, созданные с помощью командной строки, создавались с этим сопоставлением вместо latin1?

Ответы [ 2 ]

1 голос
/ 05 ноября 2011

Моим решением было применить параметры сортировки вручную на уровне базы данных. Тогда все таблицы, созданные в Symfony2 с помощью команды обновления схемы, будут иметь правильное сопоставление.

Я также добавил эту строку в мою доктрину Sf2: конфигурация dbal в config.yml:

    charset: utf8
1 голос
/ 05 сентября 2011

Я столкнулся с той же проблемой.Кажется, это связано с конфигурацией DBAL.В документации PDO_MYSQL DSN для подключения к базам данных MySQL я нашел следующее:

charset В настоящее время игнорируется

...