我正在使用带有post功能的HTML和PHP创建我的网站。在帖子中,我使用特殊的特殊字符(Å,Á...),但它们在屏幕上显示为 。但是,所有HTML内容都有效。
有什么想法吗?
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
getPosts();
?>
和函数文件:
<?php
include('connect.php');
function getPosts() {
$query = mysql_query("SELECT * FROM posts") or die(mysql_error());
while($post = mysql_fetch_assoc($query)) {
echo "<h2>" . $post['Title'] . " by " . $post['Author'] . "</h2>";
echo $post['Content'];
}
}
?>
答案 0 :(得分:3)
确保您的MySQL字符集和排序规则(至少对于此数据库/表/列)是utf8。 还要确保正确设置连接字符集:
mysql_set_charset ( "utf8" );
这需要PHP 5.2.3和MySQL 5.0.7。还要考虑切换到通常更好地处理这个问题的MySQLi或PDO。已废弃的mysql_ * API已在PHP 5.5中弃用
答案 1 :(得分:1)
您的mySQL数据库表可能没有正确的排序规则。
ALTER TABLE `posts` CHANGE `content` `content` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ;
对整个数据库,表格或单元格进行类似的更改。