在RedBeanPHP中设置NAMES或setEncoding utf8?

时间:2014-05-28 09:46:14

标签: php mysql utf-8

我正在使用REDBEANPHP 3.5 | easy ORM for PHP并与我一起处理我的应用中的所有部分,但现在我遇到问题,同时从数据库中选择带有阿拉伯语内容的数据

    R::setup('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASSWORD);
    $sql = "select * from comments";
    $comments = R::getAll($sql);
    echo "<pre>";
    die(print_r($comments));

我正在获取数据

  ["comment_content"]=> "تجربة ممتازة وتستحق التكرار"

我正在搜索并知道REDBEANPHP中的默认编码是UTF8,如果使用以下方式,也会在RedBean_Driver_PDO类中找到setEncoding函数

  try {
        $dbh = new PDO($dsn, DB_USER, DB_PASSWORD);
        $dbh->exec('SET NAMES utf8');
        $driver = new RedBean_Driver_PDO($dbh);
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    $comments = $driver->GetAll($sql);
    echo "<pre>";
    die(print_r($comments));

但仍然是相同的输出

  ["comment_content"]=> "تجربة ممتازة وتستحق التكرار"

我确信我的数据库支持utf8,因为当我使用以下代码时

mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
$sql = "select * from comments";
$result = mysql_query($sql) ;
while ($row = mysql_fetch_array($result)) {
    echo "<pre>";
    (print_r($row));
}

我正在获取正确的数据

[comment_content] => تجربة ممتازة وتستحق التكرار

我也在尝试

R::exec('SET NAMES utf8');

但仍然没有希望如此,我如何设置该编码以支持阿拉伯语内容?

0 个答案:

没有答案