【问题标题】:Doctrine - load a YAML fixture with French charactersDoctrine - 加载带有法语字符的 YAML 固定装置
【发布时间】:2011-05-14 19:41:57
【问题描述】:

我的 Doctrine 1.2 作为钩子集成在 CodeIgniter 中,我知道我的字符集是 utf8 和排序规则 utf8_unicode_ci。

我有两个 YAML 文件,一个用于创建数据库及其表,另一个用于加载一些测试数据。我的数据可以包含法语口音(çéïë...)。在我的 schama.yml 中,我正确指定了排序规则和字符集:

options:
  type: INNODB
  charset: utf8
  collate: utf8_unicode_ci

我仔细检查了 phpMyAdmin 中的设置,一切都是正确的。

当我从命令行运行我的学说脚本以将我的夹具加载到我的一张桌子上时,所有的法语口音都被垃圾代替了!

我是否缺少设置或配置,或者 Doctrine 中是否存在错误?

【问题讨论】:

    标签: mysql codeigniter encoding doctrine yaml


    【解决方案1】:

    你应该在你的 /config/database.php 中拥有 Doctrine 连接:

    // Load the Doctrine connection
    $doctrine = Doctrine_Manager::connection($db['default']['dsn'], $db['default']['database']);
    

    要解决编码问题,您必须添加以下行:

    $doctrine->exec('set names utf8');
    

    【讨论】:

    • 我在 CodeIgniter + Doctrine 1.2 上遇到了同样的问题,这个解决方案解决了拉丁字符的问题。
    猜你喜欢
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 2012-10-07
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多