Doctrine Dbal:如何设置排序规则? (在 Symfony2 中)

发布于 2024-11-18 01:53:50 字数 330 浏览 2 评论 0原文

我习惯于在第四个参数(驱动程序选项)中使用类似的内容创建 PDO 对象:

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

How can I Tell symfony 2 to do this?在配置文件中我只能看到“字符集”选项。

我还需要使用特定排序规则创建所有表: utf8_unicode_ci

我该怎么做才能使用该排序规则而不是 latin1 创建通过命令行创建的所有表?

I'm used to creating the PDO object with something like this in the 4th parameter (driver options):

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

How can I tell symfony 2 to do this? In the configuration file I can only see a 'charset' option.

I also need to create all the tables with a specific collation: utf8_unicode_ci

What can I do to have all the tables created through the command line be created with that collation instead of latin1?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雪若未夕 2024-11-25 01:53:50

我也遇到过同样的问题。看来这与 DBAL 配置有关。我在 PDO 文档中的 PDO_MYSQL DSN — 连接到 MySQL 数据库:

字符集当前被忽略下找到了以下内容。

I have been facing the same problem. It seems that has to do with DBAL configuration. I have found in the PDO documentation the following under the PDO_MYSQL DSN — Connecting to MySQL databases:

charset Currently ignored.

左岸枫 2024-11-25 01:53:50

我的解决方案是在数据库级别手动应用排序规则。然后,使用模式更新命令在 Symfony2 中创建的所有表都将具有正确的排序规则。

我还将这一行添加到我的 Sf2 学说:config.yml 中的 dbal 配置中:

    charset: utf8

My solution was to apply the collation manually at the database level. Then all tables created in Symfony2 with the schema update command will have the correct collation.

I also added this line to my Sf2 doctrine: dbal configuration in the config.yml:

    charset: utf8
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文