【问题标题】:Creating DB in symfony2 with particular collation使用特定排序规则在 symfony2 中创建数据库
【发布时间】:2012-05-04 09:18:09
【问题描述】:

我想使用utf8_general_ci 排序规则创建数据库。我已将 MySQL 连接排序规则定义为 utf8_general_ci(在 phpmyadmin 中),并在 config.yml 中定义了 charset: UTF8,但是当我使用 php app/console doctrine:schema:update --force 时,它会使用 latin1_swedish_ci 排序规则创建一个表。 有办法解决吗?

【问题讨论】:

    标签: symfony doctrine collation


    【解决方案1】:

    我认为最好的办法是直接更改 MySQL 设置。将此添加到您的my.ini 文件(MYSQL 配置文件)中:

    [mysqld]
    character-set-server=utf8
    default-collation=utf8_general_ci
    

    我曾经在 Symfony 中看到过一个直接执行此操作的技巧,但它需要更改 Doctrine 的一些内部代码,而且它甚至不适用于我的情况。

    我最终将这些设置添加到 my.ini 文件中。

    编辑: 关于如何在 MySQL 上更改字符集和排序规则的一些链接

    1. change mysql default character set to UTF8 in my.cnf?
    2. MySQL 5.0 Reference guide

    问候, 马特

    【讨论】:

    • 我按照你的建议做了,我停止了 mysql 服务,现在我无法运行它。只有当我删除我在 my.ini 中添加的这两行时,我才能重新启动 Mysql。
    • 好吧。我这样做了: ALTER TABLE mytable CONVERT TO CHARACTER SET utf8
    • 这三行你加了吗,[mysqld]很重要。改动应该不会造成任何问题。
    • 这很奇怪,阅读参考指南说要这样做。不知道会出什么问题。抱歉,它没有按预期工作......
    猜你喜欢
    • 1970-01-01
    • 2016-11-02
    • 2010-11-16
    • 2011-01-19
    • 1970-01-01
    • 2012-12-03
    • 2013-08-10
    • 1970-01-01
    • 2011-05-17
    相关资源
    最近更新 更多