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

标签 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

我错过了什么??

最佳答案

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

例子: $dbh = new PDO('mysql:host=localhost;dbname=test;charset=utf-8', 等等...

我在你的代码中没有看到连接线,所以我不能确定。

关于php - UTF-8 字符在 PHP 中显示不正确(从 MYSQL 输出结果时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37086379/

相关文章:

mysql - 运行Sql触发器出错

mysql - 将数据存储到网络服务器的 VB.Net 程序

ajax - 使用ajax时UTF8编码不起作用

mysql - 导出数据库时编码丢失

PHP,缩进宽度为4,CodeSniffer : is "4" a de-facto standard?

php: textarea excel 粘贴到数组

php - 从第一个表中选择所有内容,计算第二个表中 ID 的实例数

php - 多次使用命名参数与 PDO 中返回的数据类型

mysql - 修复mysql查询

C++ 编译。翻译阶段#1。通用字符名称