PHP中UTF-8字符显示不正确(从MYSQL输出结果时)

时间:2016-05-07 08:38:08

标签: php mysql utf-8

我从phpMyAdmin插入了一些数据,它似乎在phpMyAdmin image上很好,但是当我使用PHP输出MYSQL的结果时,它变为:image

PHP代码:

function showTableRows($db)
{
    $sql = "SELECT * FROM forums ORDER BY id";
    $stmt = $db->prepare($sql);
    $stmt->execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

    foreach ($result as $row)
    {
        $forum_id = $row['forum_id'];
        echo '<tr>';
            echo '<td>';
                echo '<a href="viewforum.php?forum='. $forum_id .'">'. $row['name'] .'</a>';
                echo '<br>';
                echo '<small>'. $row['description'] .'</small>';
                ......

MYSQL排序规则已设置为 utf8_general_ci
HTML字符集已设置为 utf-8

我错过了什么?

1 个答案:

答案 0 :(得分:1)

这可能是因为您在连接时缺少charset选项:

例如: $ dbh = new PDO(&#39; mysql:host = localhost; dbname = test; charset = utf-8&#39;等...

我的代码中没有看到连接线,因此,我无法确切知道。