我已经做了我能想到的一切,但特殊字符在此网页上无法正确显示。
例如,在数据库中它是:
但网站上是这样的:
Nouveaux R�alistes
这是我检查过的所有内容...
数据库设置为UTF-8:
该页面是用 NetBeans 编写的,文档编码设置为 UTF-8:
页眉声明 UTF-8:
元字符集设置为 UTF-8:
我什至将以下行添加到我的 .htaccess 中:
但有些字符仍然无法正确显示,并且我从 W3C 验证器收到以下错误:
我感觉我已经尝试了一切,但仍然行不通。 (我什至尝试过htmlspecialchars
and htmlentities
在 PHP 中,但页面甚至没有呈现!)
UPDATE
根据要求,这是我正在使用的代码:
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);
}
}
And...
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);
它设置连接编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)