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');我的理解是針對頁面的