5

考えられることはすべて実行しましたが、この Web ページで特殊文字が正しく表示されません。

たとえば、データベースでは次のようになります。

ここに画像の説明を入力

しかし、サイトでは次のとおりです。

Nouveaux R�alistes

ここに私がチェックしたすべてがあります...

データベースは UTF-8 に設定されています。

ここに画像の説明を入力

このページは NetBeans で作成されており、ドキュメントのエンコーディングは UTF-8 に設定されています。

ここに画像の説明を入力

ページ ヘッダーは UTF-8 を宣言します。

ここに画像の説明を入力

メタ文字セットは UTF-8 に設定されています。

ここに画像の説明を入力

.htacess に次の行を追加しました。

ここに画像の説明を入力

しかし、文字がまだ正しく表示されず、W3C Validator から次のエラーが表示されます。

ここに画像の説明を入力

私はすべてを試みたように感じますが、それでもうまくいきません。(私も 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>
4

2 に答える 2

1

PHP を使用してから数年が経ちましたが、当時はネイティブで Unicode をサポートしていませんでした。それでも機能させることはできます。

ここに素晴らしいリンクがあります:

テキストを操作するためのエンコーディングと文字セット

于 2013-04-18T20:40:03.663 に答える