我已经完成了我能想到的一切,但是在这个网页上没有正确显示特殊字符.
例如,在数据库中它是:
但在网站上它是:
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);
它设置连接编码. 总结
以上是内存溢出为你收集整理的php – 在UTF-8网站上无法正确显示的字符全部内容,希望文章能够帮你解决php – 在UTF-8网站上无法正确显示的字符所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)