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); ?>
2017-06-24
mysql_query('set names utf8');我的理解是針對數據庫的
header('Content-type:text/html; charset=utf-8');我的理解是針對頁面的