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