Я пытаюсь заставить Doctrine2 работать правильно с mysql db в Symfony2 в системе debian squeeze. В кодировке и сортировке БД установлены utf8 и utf8_general_ci, а db создается вручную, считывая скрипт sql.Doctrine2 с Symfony2, не признающим db charset и collation
Теперь я ввожу некоторые значения для одной из таблиц с датскими специальными символами, такими как æøå, и они просто не отображаются правильно.
Мой parameters.yml поставил кодировку: utf8 и в моем config.yml конфигурации доктрина:
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
Когда я избранная в консоли MySQL, символы отображаются корректно, а также, если я пытаюсь путем замены выходного массива в контроллере на som hardcoded, поэтому проблема, по-видимому, обусловлена некоторой ошибкой/ошибкой в конфигурации doctrine2 ...
Есть ли у кого-нибудь ключи от того, как это решить?
Большое спасибо.
Спасибо, к сожалению, что не так. Я получаю исключение во время выполнения, что этот параметр устарел и что я должен добавить метод getCharset(), чтобы AppKernel.php возвращал «UTF8». Однако это не исправить ... – Johi
Возможно, я мог бы помочь больше, если бы вы добавили, какую версию Symfony и Doctrine вы используете. –
Спасибо за усилия Лауринас. Я выяснил, в чем проблема, я просто не могу принять свой собственный ответ, установка кодировки dbal section для doctrine в config.yml, очевидно, делает utf8_encode данных, которые уже являются utf8 (моя догадка), поэтому удаление этого линия решена. Это должно быть в документах, чтобы сохранить dummys, как я, неприятность ;-) – Johi