mysql_query('set names utf8');和header('Content-type:text/html; charset=utf-8');有什么区别
如题,在代码的前面写了header('Content-type:text/html; charset=utf-8');,为什么插入中文数据的时候还是会乱码,要加mysql_query('set names utf8');才不会乱码,他俩各自的作用是什么,谢谢。
<?php
header('Content-type:text/html; charset=utf-8');
if( $con = mysql_connect('localhost','root','')){
echo '连接成功<br/>';
}else{
echo '连接失败<br/>';
}
if(mysql_select_db('test')){
echo '选择数据库成功<br/>';
}
else{
echo '选择数据库失败<br/>';
}
mysql_query('set names utf8');//用于防止插入中文数据时乱码
$sql='insert into tab(name) values("苹果")';
if(mysql_query($sql,$con)){
echo '插入成功<br/>';
}else{
echo mysql_error().'<br/>';
echo '插入失败<br/>';
}
$_search='select * from tab limit 1';
$res=mysql_query($_search);
if($res){
$row = mysql_fetch_array($res);
var_dump($row);
}else{
echo '空值<br/>';
}
mysql_close($con);
?>