在Ajax之后,HTML特殊字符编码不起作用 - > PHP - > MySQL的

时间:2012-12-08 02:01:15

标签: php mysql encoding

我有一个设置,它使用PHP从MySQL加载数据并以HTML格式显示。它到目前为止工作。所有字符都显示它们应该如何显示。但是,当我点击一个按钮刷新网站的某个部分时,$ .ajax调用PHP来刷新MySQL数据,一些字符显示为?标记,这些是MySQL数据的字符。

HOME

<!doctype html>
<html>
    <head>
    <meta charset="UTF-8">
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript">
        $(function() {
            $("div#click input").live("click", function() {
                $("div#main").load("main.php");
            });
        });
    </script>
    </head>

    <body>
        <div id="main">
        é¨ûåa
        </div>

        <div id="click">
        <input type="button" value="click" onclick="return false;" />
        </div>
    </body>
</html>

Main.php

<?php
$a = mysql_connect('localhost', 'root', '');
mysql_select_db('link', $a);

?>
<div id="main">
ééîüåaa

</div>

<?php
$r = mysql_query("SELECT * from promo;");

while ($row = mysql_fetch_object($r)) {
        $name       = $row->name;
        echo $name;
}
mysql_close($a);
?>

MySQL表:

CREATE TABLE `promo` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL DEFAULT '',
  `link` tinytext NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

1 个答案:

答案 0 :(得分:1)

在制作mysql_query

之前尝试使用此调用
mysql_set_charset("utf8")