我折腾了一下午:
这是JS代码
function   InitAjax() 

 var   ajax=false; 
 try   { 
  ajax   =   new   ActiveXObject( "Msxml2.XMLHTTP "); 
 }   catch   (e)   { 
  try   { 
   ajax   =   new   ActiveXObject( "Microsoft.XMLHTTP "); 
  }   catch   (E)   { 
   ajax   =   false; 
  } 
 } 
 if   (!ajax   &&   typeof   XMLHttpRequest!= 'undefined ')   { 
  ajax   =   new   XMLHttpRequest(); 
 } 
 return   ajax;
} function run_search() {
var state=document.query.name.value;
var strstate='name='+state;

var url='admin/check.php';
xmlhttp.open('POST',url,true);

xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbkutf-8"); 
alert(strstate);
xmlhttp.send(strstate);
xmlhttp.onreadystatechange=getname;

}
function getname() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {

document.getElementById('result').innerHTML="查询结果:<strong style=\"color:#4F4FFF\">"+xmlhttp.responseXML+"</strong>";

else {

document.getElementById('result').innerHTML="查询结果:<strong style=\"color:#FF6666\">网络错误..再来一遍?</strong>";
}/**/
}
这是PHP的<?php  
if ($_GET['name'])
$name=trim(strtolower($_GET['name']));
elseif ($_POST['name'])
$name=trim(strtolower($_POST['name']));
else 
$name=trim(strtolower($_GET['name']));
if (empty($name))
{
echo "无输入..再来一遍?";

}
else{
$db=db_connect();
$db->query("SET NAMES 'utf8'");
@$result=$db->query("SELECT * FROM `collage` WHERE `en_name`='$name'");
$num=$result->num_rows;
$result=$result->fetch_array();

switch ($num) {
case "1":
$university=$result['university'];
$result="他(她)目前在$university";
break;

default:
$result="查无此人..try again?";
break;
}

echo $result;
}
?>数据库的我也用utf8格式保存的,也就是现在所有页面,都是utf8格式了