我的 Doctrine 1.2 作为一个钩子(Hook)集成在 CodeIgniter 中,我知道我的字符集是 utf8,排序规则为 utf8_unicode_ci。
我有两个 YAML 文件,一个用于创建数据库及其表,另一个用于加载一些测试数据。我的数据可以包含法语口音(çéïë...)。在我的 scama.yml 中,我已正确指定排序规则和字符集:
options:
type: INNODB
charset: utf8
collate: utf8_unicode_ci
我仔细检查了 phpMyAdmin 中的设置,一切都正确。
当我从命令行运行我的 Doctrine 脚本以将我的装置加载到我的一张 table 时,所有法国口音都被垃圾替换!
我是否缺少设置或配置,或者 Doctrine 中是否存在错误?
最佳答案
您的/config/database.php Doctrine 连接中应该有:
// Load the Doctrine connection
$doctrine = Doctrine_Manager::connection($db['default']['dsn'], $db['default']['database']);
要解决编码问题,您必须添加此行:
$doctrine->exec('set names utf8');
关于mysql - Doctrine - 加载带有法语字符的 YAML 固定装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4262296/