我的环境:
windows XP php5 mysql5我配置mysql数据库时,选择的语言是gbk
创建数据库时create database qyyh default charset=GBK; 创建表时也是default charset=GBK例如人员表user 姓名字段 truename varchar(30)
我利用表单将汉字姓名插入到truename字段中。然后我利用cmd--mysql -u root -p 进入到数据库,
select * from user
查询结果是:| 26 | wlg | ?????? | 96e79218965eb72c92a549dd5a330112 | 96e79218965
eb72c92a549dd5a330112 | ±±?? | ??±± | 1231231 | 1286890711 |
汉字的地方出现??±±这样的乱码。
另外我使用 select * from user where truename like '%张三%' 执行语句时也报错。如何将查询结果显示为汉字?
windows XP php5 mysql5我配置mysql数据库时,选择的语言是gbk
创建数据库时create database qyyh default charset=GBK; 创建表时也是default charset=GBK例如人员表user 姓名字段 truename varchar(30)
我利用表单将汉字姓名插入到truename字段中。然后我利用cmd--mysql -u root -p 进入到数据库,
select * from user
查询结果是:| 26 | wlg | ?????? | 96e79218965eb72c92a549dd5a330112 | 96e79218965
eb72c92a549dd5a330112 | ±±?? | ??±± | 1231231 | 1286890711 |
汉字的地方出现??±±这样的乱码。
另外我使用 select * from user where truename like '%张三%' 执行语句时也报错。如何将查询结果显示为汉字?
如果你的网页编码是unicode的话,写:mysql_query("set names utf8")
建议网页和数据库的编码一致~~~
mysql_query("select * from .....")
mysql_query("set names 'gbk'");
or
mysql_set_charset("gbk",$link);
$con = mysql_connect("127.0.0.1", "root", "");
mysql_query("set names 'gbk'");
if (!$con) //如果失败
{
die('建立连接失败:' . mysql_error()); //输出出错提示
}
mysql_select_db("test", $con);
mysql_select_db("test");
mysql_query("set names 'GBK'");
如此一番妥妥的
$conn = mysql_connect("localhost","root","") or die ("wrong!");
$sel = mysql_select_db("newdb",$conn);
$sql="insert into `new table`(`id`,`name`,`data`)values('','PHP教学',now())";
mysql_query("set names gbk");
mysql_query($sql,$conn);
?>
源码测试成功!