我正在开发使用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设置。
我只是在charset=utf8的dsn设置中添加了bjyprofiler,它对我有用

这是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'],
    ));

10-02 05:23