我在创建表的时候,是以char定义的变量,而在php建立的带有汉字的数据库在phpmyadmin里显示正常,在命令提示符下调用MySQL也正常,但是当用php调用MySQL里的中文数据的时候,中文都变成了“?”,有多少的汉字就有多少的“?”。在页面输入的是汉字,而在mysql中显示的确实“?”号;我也按照大伙提的建议更改了mysql配置文件,也试着在创建数据库的时候就create database mydb default character set gb2312   ;但是也是行不通,最后我终于找到了方法就是@mysql_connect("localhost" ,"root"  )
  or die ("数据库服务器连接失败");
  @mysql_select_db("mydb")
  or die ("数据库不存在或打不开");
这是我开始的程序的前半部分我修改后的如下:@mysql_connect("localhost" ,"root"  )
  or die ("数据库服务器连接失败");
@mysql_query("set names 'gbk'");//然后指定数据库字符集
  @mysql_select_db("mydb")
  or die ("数据库不存在或打不开");
这样就可以实现了
源程序:<html>
<head>
<meta http-equiv="Content-Language" content="en" />
<meta name="GENERATOR" content="Zend Studio" />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>插入一条新数据</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#FF9966" vlink="#FF9966" alink="#FFCC99">
   <form  method="get" name="form1" action="insert.php"
   <table  align="center" >
      <tr valign="baseline">
       <td nowrap align="right">员工号:</td>
      
       <td ><input type="text"   name="serial_no"  value="" size="32"></td></br>
     
      </tr>
    <tr valign="baseline">
       <td nowrap align="right">姓名:</td>
      
       <td ><input type="text"   name="name"  value="" size="32"></td></br>
     
     
      </tr>
    <tr valign="baseline">
       <td nowrap align="right">生日:</td>
      
       <td ><input type="text"   name="birthday"  value="" size="32"></td></br>
     
     
      </tr>
  
    <tr valign="baseline">
       <td nowrap align="right">年龄:</td>
      
       <td ><input type="text"   name="age"  value="" size="32"></td></br>
     
     
      </tr>
  
     <tr valign="baseline">
       <td nowrap align="right">工资:</td>
      
       <td ><input type="text"   name="salary"  value="" size="32"></td></br>
     
     
      </tr>
   <tr valign="baseline">
       <td colspan="2" nowrap>
       <input type="submit"   name="submit"  value="提交" size="32">
     <input type="submit"   name="submit"  value="重设" size="32"></td></br>
     
     
      </tr>
  
   </table>
</body>
</html>
 
 
<?php
  @mysql_connect("localhost" ,"root"  )
  or die ("数据库服务器连接失败");
@mysql_query("set names 'gbk'");//然后指定数据库字符集
  @mysql_select_db("mydb")
  or die ("数据库不存在或打不开");
  $serial_no=$_GET['serial_no'];
  $name = $_GET['name'];
  $age = $_GET['age'];
  $birthday =$_GET['birthday'];
  $salary =$_GET['salary'];
  $bonus=0;
 
 
  $query=mysql_query(  "insert into mytable values
($serial_no,'$name',$age,'$birthday',$salary,$bonus)");
  if($query)
  {
   echo "数据插入成功";
  }
  else
    echo "数据插入不成功";
    mysql_close();
    ?>