MySql 如何在 ZF2 中显示 utf8 字符
How to show utf8 character in ZF2 from MySql
我正在开发一个使用 Zend Framework 2 和 mysql 作为数据库的应用程序。
我想在页面中显示阿拉伯字符,但在页面上显示时遇到一些困难。
当我从应用程序输入阿拉伯字符时,我可以在获取时在浏览器中看到它。
但是无法在数据库中看到已经可用的阿拉伯语内容,而我能够在 phpmyadmin 和 sqlYog 中看到它。
在zf2的应用设置中,我已经设置了使用utf-8作为字符编码,如下:
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=db_name;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8"
),
),
我找不到原因。有什么想法吗?
我的所有设置都很好。问题是我将 bjyprofiler 用于开发目的,所以这个模块(bjyprofiler)覆盖了核心 zf2 设置。
我刚刚在 bjyprofiler
的 dsn 设置中添加了 charset=utf8
,它对我有效
这是 config/autoload/bjyprofiler.local.php
中更新的数据库设置
$adapter = new BjyProfiler\Db\Adapter\ProfilingAdapter(array(
'driver' => 'pdo',
'dsn' => 'mysql:dbname=' . $dbParams['database'] . ';host=' . $dbParams['hostname'] . ';charset=utf8',
'database' => $dbParams['database'],
'username' => $dbParams['username'],
'password' => $dbParams['password'],
'hostname' => $dbParams['hostname'],
));
我正在开发一个使用 Zend Framework 2 和 mysql 作为数据库的应用程序。 我想在页面中显示阿拉伯字符,但在页面上显示时遇到一些困难。 当我从应用程序输入阿拉伯字符时,我可以在获取时在浏览器中看到它。 但是无法在数据库中看到已经可用的阿拉伯语内容,而我能够在 phpmyadmin 和 sqlYog 中看到它。
在zf2的应用设置中,我已经设置了使用utf-8作为字符编码,如下:
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=db_name;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8"
),
),
我找不到原因。有什么想法吗?
我的所有设置都很好。问题是我将 bjyprofiler 用于开发目的,所以这个模块(bjyprofiler)覆盖了核心 zf2 设置。
我刚刚在 bjyprofiler
的 dsn 设置中添加了 charset=utf8
,它对我有效
这是 config/autoload/bjyprofiler.local.php
$adapter = new BjyProfiler\Db\Adapter\ProfilingAdapter(array(
'driver' => 'pdo',
'dsn' => 'mysql:dbname=' . $dbParams['database'] . ';host=' . $dbParams['hostname'] . ';charset=utf8',
'database' => $dbParams['database'],
'username' => $dbParams['username'],
'password' => $dbParams['password'],
'hostname' => $dbParams['hostname'],
));