我已经完成了我能想到的一切,但是在这个网页上没有正确显示特殊字符.
例如,在数据库中它是:
但在网站上它是:
Nouveaux R�alistes
这是我检查过的一切……
数据库设置为UTF-8:
该页面是用NetBeans编写的,文档编码设置为UTF-8:
页眉声明UTF-8:
元字符集设置为UTF-8:
我甚至在我的.htacess中添加了以下行:
但是字符仍然没有正确显示,我从W3C验证器得到以下错误:
我觉得我已经尝试了一切,但它仍然无法运作. (我甚至在PHP中尝试过htmlspecialchars和htmlentities,但页面甚至没有呈现!)
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);
}
}
和…
try {
$db = new Database(SITE_ROOT."/../");
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$exhibition = new Exhibition($db,$_GET['id']);
} catch (PDOException $e) {
echo "
最后……
最佳答案
如果您使用的是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);
它设置连接编码.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。