0

我正在尝试使用 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);

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

4

1 回答 1

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'));
于 2012-10-06T08:40:34.720 回答