在寫代碼的時候,出現中文數據時,就會查詢出錯,在瀏覽器上,將sql語句echo出來的時候,發現並沒有亂碼,還是正常的樣子,然后將相應語句放到SQL server2012里面執行時也是正常的,困擾許久。
SQL語句部分的代碼如下:
$sql1 = "SELECT * FROM t_user_expert WHERE user_name ='".$user_name."' AND password ='".$password."'"; echo $sql1; die();
查詢得到的結果一直為空,后來嘗試把中文從數據庫中取出來echo在瀏覽器里,發現結果為
������
后來注意到原來是php代碼這里用的時UTF-8保存的,而且header內容也是
header("content-Type: text/html; charset=utf-8");
而數據庫那邊的編碼為GBK編碼,所以導致編碼出錯,於是將php文件重新以GBK編碼保存,並且header改為
header("content-Type: text/html; charset=gb2312");
查詢結果就正常了,問題解決。