1

我正在使用带有发布功能的 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'];

    }
}
?>
4

2 回答 2

3

确保你的 MySQL 字符集和排序规则(至少对于这个数据库/表/列)是 utf8。还要确保正确设置连接字符集:

mysql_set_charset ( "utf8" );

这需要 PHP 5.2.3 和 MySQL 5.0.7。还可以考虑切换到通常可以更好地处理此问题的 MySQLi 或 PDO。PHP 5.5 已弃用过时的 mysql_* API

于 2013-08-09T19:22:19.303 回答
1

很有可能您的 mySQL 数据库表的排序规则不正确。

ALTER TABLE `posts` CHANGE `content` `content` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ;

对整个数据库、表或单元格进行这样的更改。

于 2013-08-09T19:20:37.957 回答