PHP Charset用于特殊字符

时间:2013-08-09 19:14:07

标签: php html

我正在使用带有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'];

    }
}
?>

2 个答案:

答案 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 ;

对整个数据库,表格或单元格进行类似的更改。