php - 字符在 UTF-8 网站上显示不正确

标签 php mysql html utf-8 html-entities

我已尽我所能,但此网页上的特殊字符显示不正确。

例如,在数据库中它是:

enter image description here

但在网站上是:

Nouveaux R�alistes

这是我检查过的所有内容...

数据库设置为UTF-8:

enter image description here

该页面是用 NetBeans 编写的,文档编码设置为 UTF-8:

enter image description here

页眉声明 UTF-8:

enter image description here

元字符集设置为 UTF-8:

enter image description here

我什至在我的 .htacess 中添加了以下行:

enter image description here

但还是有字符显示不正确,我从 W3C Validator 得到以下错误:

enter image description here

我觉得我已经尝试了所有方法,但还是行不通。 (我什至在 PHP 中尝试过 htmlspecialcharshtmlentities,但页面甚至没有呈现!)


更新
根据要求,这是我正在使用的代码:

class Exhibition {
    public $exhibitionDetails;    

    public function __construct(Database $db, $exhibitionID){
        $this->_db = $db;

        $params['ExhibitionID'] = $exhibitionID;

        $STH = $this->_db->prepare("SELECT * 
            FROM Exhibition
            INNER JOIN Schedule
                ON Exhibition.ExhibitionID = Schedule.ExhibitionID            
            WHERE Schedule.Visible = 1
                AND Exhibition.ExhibitionID = :ExhibitionID;");

        $STH->execute($params);

        $this->exhibitionDetails = $STH->fetchAll(PDO::FETCH_ASSOC);

    }
}

还有……

try {
    $db = new Database(SITE_ROOT."/../");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $exhibition = new Exhibition($db,$_GET['id']);
} catch (PDOException $e) {
    echo "<p class='error'>ERROR: ".$e->getMessage()."</p>";
}

最后……

<p><?php echo $exhibition->exhibitionDetails[0]["Desc"]; ?></p>

最佳答案

如果您正在使用 mysql_* 函数:

mysql_query("SET NAMES 'utf8'");

如果您正在使用 PDO

$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
); 

$dbh = new PDO($dsn, $username, $password, $options);

它设置连接编码。

关于php - 字符在 UTF-8 网站上显示不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16092448/

相关文章:

mysql - foreach 循环中 codeigniter 中出现 500 内部服务器错误和 undefined variable 错误?

javascript - 使用 JS 验证并合计用户输入的总和

html - 如何在单选/复选框输入下不让标签文本换行?

javascript - jQuery 根据相关复选框选择求和单元格

php - 我如何使用 MySql ENUM 类型? (它适合新闻提要吗)

php - 将图像均匀分布到图库中的列

php - Yii 框架的 I18n 基础

php - 使用一个提交按钮一次在 mysql 表中进行多个输入

如果表 2 中存在数据,则 MySQL 从表 1 中选择

php - 表格传递选择到下一页