0

PHPを使用してMySQLからデータをロードし、それをHTMLで表示するセットアップがあります。これまでのところ動作します。すべての文字が表示されます。しかし、ボタンをクリックしてサイトの特定の部分を$ .ajaxで更新すると、PHPを呼び出してMySQLデータを更新します。一部の文字は?マークとして表示されます。これらは、MySQLデータである文字です。

<!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;
4

1 に答える 1

1

mysql_queryを作成する前に、この呼び出しを使用してみてください

mysql_set_charset("utf8")
于 2012-12-08T02:03:59.670 に答える