我在创建表的时候,是以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();
?>