mysql - Doctrine - 加载带有法语字符的 YAML 固定装置

标签 mysql codeigniter encoding doctrine yaml

我的 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/

相关文章:

java - 具有相同字符串长度的奇怪编码输出

java - UriBuilder 中大括号和空格的编码问题

mysql - 计算总成本,其中采购和价格位于单独的表中

mysql - SQL 查询 - 按最长加载时间排列的文件列表

php - 如何在 Rest Server API 中获取/设置 header ?

php - 我的查询没有返回正确的计数

php - CodeIgniter 问题 : native PHP sessions, 代码流程,布局问题?

Java解压奇怪的字符(编码?)

mysql索引问题-解释说文件排序

php - Laravel 使用相同的值更新 mysql 字段