【发布时间】:2013-04-12 03:04:53
【问题描述】:
我已尽我所能,但特殊字符无法在此网页上正确显示。
例如,在数据库中是:
但在网站上是:
Nouveaux R�alistes
这是我检查过的所有内容...
数据库设置为UTF-8:
页面是用 NetBeans 编写的,文档编码设置为 UTF-8:
页眉声明UTF-8:
元字符集设置为 UTF-8:
我什至在我的 .htacess 中添加了以下行:
但仍有字符显示不正确,我从 W3C Validator 收到以下错误:
我觉得我已经尝试了所有方法,但仍然无法正常工作。 (我什至在 PHP 中尝试过 htmlspecialchars 和 htmlentities,但页面甚至没有呈现!)
更新
根据要求,这是我正在使用的代码:
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>
【问题讨论】:
-
我猜你编码太多了。你能展示你的 php 代码来获取记录并输出它吗?
-
你用的是什么字体?我对pdf有类似的问题。 See here
-
您的数据库中的数据好像不是UTF-8编码的。
-
@Gumbo 我已将数据粘贴到 NetBeans 中的 UTF-8 编码文档中。保存它,关闭它,重新打开它,然后检查文本。它看起来不错,所以我将它剪切并粘贴回数据库中......但仍然是相同的结果。你有什么建议吗?
-
如何将数据插入数据库?
标签: php mysql html utf-8 html-entities