php+sqlserver2012连接数据库中,查询得到中文数据出现中文乱码
在写代码的时候,出现中文数据时,就会查询出错,在浏览器上,将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");
查询结果就正常了,问题解决。