我在创建表的时候,是以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 ("数据库不存在或打不开");
这样就可以实现了
源程序:




插入一条新数据


     
     
       员工号:
      
      

     
     
   
       姓名:
      
      

     
     
     
   
       生日:
      
      

     
     
     
  
   
       年龄:
      
      

     
     
     
  
    
       工资:
      
      

     
     
     
  
      
      
    

     
     
     
  
  

 
 
  @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();
    ?>