学说2 +西里尔文

时间:2012-10-06 08:20:20

标签: php doctrine doctrine-orm

我正在尝试使用Doctrine2 ORM从数据库中读取utf8(西里尔文)数据,但它总是返回不可读的符号。

我在utf8-general-ci中的数据库,表格和文本字段。 连接看起来像这样:

$em = EntityManager::create(array(
  'driver' => 'pdo_mysql',
  'unix_socket' => '/var/lib/mysql/mysql.sock',
  'charset' => 'utf8',
  'host' => DB_HOST,
  'user' => DB_USER,
  'password' => DB_PASS,
  'dbname' => DB_NAME
  ), $config);

但仍然没有成功。我该如何解决? 谢谢

1 个答案:

答案 0 :(得分:1)

以下是我找到的解决方案,并且有效:

$em = EntityManager::create(array(
  'driver' => 'pdo_mysql',
  'unix_socket' => '/var/lib/mysql/mysql.sock',
  'charset' => 'utf8',
  'host' => DB_HOST,
  'user' => DB_USER,
  'password' => DB_PASS,
  'dbname' => DB_NAME
  ), $config);
$em->getEventManager()->addEventSubscriber(new MysqlSessionInit('utf8', 'utf8_unicode_ci'));