我有一个设置,它使用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;
答案 0 :(得分:1)
在制作mysql_query
之前尝试使用此调用mysql_set_charset("utf8")